Browse Source

Improved Findassimp.cmake to support VS2013. Added deployment of VS2013 libs and dll files.

Vertexwahn 9 years ago
parent
commit
270355f326
3 changed files with 43 additions and 25 deletions
  1. 6 0
      .gitignore
  2. 24 18
      CMakeLists.txt
  3. 13 7
      cmake-modules/Findassimp.cmake

+ 6 - 0
.gitignore

@@ -66,3 +66,9 @@ lib64/assimp-vc140-mt.exp
 lib64/assimp-vc140-mtd.exp
 lib64/assimp-vc140-mtd.ilk
 lib64/assimp-vc140-mtd.pdb
+bin64/assimp-vc120-mt.dll
+bin64/assimp-vc120-mtd.dll
+lib64/assimp-vc120-mtd.pdb
+lib64/assimp-vc120-mtd.ilk
+lib64/assimp-vc120-mtd.exp
+lib64/assimp-vc120-mt.exp

+ 24 - 18
CMakeLists.txt

@@ -342,23 +342,29 @@ if(CMAKE_CPACK_COMMAND AND UNIX AND ASSIMP_OPT_BUILD_PACKAGES)
 endif()
 
 if(WIN32)
-	if(MSVC14)
-		if (CMAKE_SIZEOF_VOID_P EQUAL 8)
-			set(BIN_DIR "${PROJECT_SOURCE_DIR}/bin64/")
-			set(LIB_DIR "${PROJECT_SOURCE_DIR}/lib64/")
-		elseif()
-			set(BIN_DIR "${PROJECT_SOURCE_DIR}/bin32/")
-			set(LIB_DIR "${PROJECT_SOURCE_DIR}/lib32/")
-		endif()
-
+	if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+		set(BIN_DIR "${PROJECT_SOURCE_DIR}/bin64/")
+		set(LIB_DIR "${PROJECT_SOURCE_DIR}/lib64/")
+	elseif()
+		set(BIN_DIR "${PROJECT_SOURCE_DIR}/bin32/")
+		set(LIB_DIR "${PROJECT_SOURCE_DIR}/lib32/")
+	endif()
+	
+	if(MSVC12)
+		set(ASSIMP_MSVC_VERSION "vc120")
+	elseif(MSVC14)	
+		set(ASSIMP_MSVC_VERSION "vc140")
+	endif(MSVC12)
+
+	if(MSVC12 OR MSVC14)
 		add_custom_target(UpdateAssimpLibsDebugSymbolsAndDLLs COMMENT "Copying Assimp Libraries ..." VERBATIM)	
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-vc140-mt.dll 	${BIN_DIR}assimp-vc140-mt.dll VERBATIM)
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-vc140-mt.exp 	${LIB_DIR}assimp-vc140-mt.exp VERBATIM)
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-vc140-mt.lib 	${LIB_DIR}assimp-vc140-mt.lib VERBATIM)
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-vc140-mtd.dll 		${BIN_DIR}assimp-vc140-mtd.dll  VERBATIM)
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-vc140-mtd.exp 		${LIB_DIR}assimp-vc140-mtd.exp VERBATIM)
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-vc140-mtd.ilk 		${LIB_DIR}assimp-vc140-mtd.ilk VERBATIM)
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-vc140-mtd.lib 		${LIB_DIR}assimp-vc140-mtd.lib VERBATIM)
-		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-vc140-mtd.pdb 		${LIB_DIR}assimp-vc140-mtd.pdb VERBATIM)
-	endif(MSVC14)														                                                                  
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.dll	${BIN_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.dll VERBATIM)
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.exp	${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.exp VERBATIM)
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.lib	${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mt.lib VERBATIM)
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.dll		${BIN_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.dll  VERBATIM)
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.exp		${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.exp VERBATIM)
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.ilk		${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.ilk VERBATIM)
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.lib		${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.lib VERBATIM)
+		add_custom_command(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb		${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb VERBATIM)
+	endif(MSVC12 OR MSVC14)
 endif (WIN32)

+ 13 - 7
cmake-modules/Findassimp.cmake

@@ -15,17 +15,23 @@ if(WIN32)
 			${ASSIMP_ROOT_DIR}/include
 	)
 
-	if(MSVC14)
+	if(MSVC12)
+		set(ASSIMP_MSVC_VERSION "vc120")
+	elseif(MSVC14)	
+		set(ASSIMP_MSVC_VERSION "vc140")
+	endif(MSVC12)
+	
+	if(MSVC12 OR MSVC14)
 	
 		find_path(ASSIMP_LIBRARY_DIR
 			NAMES
-				assimp-vc140-mt.lib
+				assimp-${ASSIMP_MSVC_VERSION}-mt.lib
 			HINTS
 				${ASSIMP_ROOT_DIR}/lib${ASSIMP_ARCHITECTURE}
 		)
 		
-		find_library(ASSIMP_LIBRARY_RELEASE				assimp-vc140-mt.lib 			PATHS ${ASSIMP_LIBRARY_DIR})
-		find_library(ASSIMP_LIBRARY_DEBUG				assimp-vc140-mtd.lib			PATHS ${ASSIMP_LIBRARY_DIR})
+		find_library(ASSIMP_LIBRARY_RELEASE				assimp-${ASSIMP_MSVC_VERSION}-mt.lib 			PATHS ${ASSIMP_LIBRARY_DIR})
+		find_library(ASSIMP_LIBRARY_DEBUG				assimp-${ASSIMP_MSVC_VERSION}-mtd.lib			PATHS ${ASSIMP_LIBRARY_DIR})
 		
 		set(ASSIMP_LIBRARY 
 			optimized 	${ASSIMP_LIBRARY_RELEASE}
@@ -36,13 +42,13 @@ if(WIN32)
 	
 		FUNCTION(ASSIMP_COPY_BINARIES TargetDirectory)
 			ADD_CUSTOM_TARGET(AssimpCopyBinaries
-				COMMAND ${CMAKE_COMMAND} -E copy ${ASSIMP_ROOT_DIR}/bin${ASSIMP_ARCHITECTURE}/assimp-vc140-mtd.dll 				${TargetDirectory}/Debug/assimp-vc140-mtd.dll
-				COMMAND ${CMAKE_COMMAND} -E copy ${ASSIMP_ROOT_DIR}/bin${ASSIMP_ARCHITECTURE}/assimp-vc140-mt.dll 				${TargetDirectory}/Release/assimp-vc140-mt.dll
+				COMMAND ${CMAKE_COMMAND} -E copy ${ASSIMP_ROOT_DIR}/bin${ASSIMP_ARCHITECTURE}/assimp-${ASSIMP_MSVC_VERSION}-mtd.dll 	${TargetDirectory}/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.dll
+				COMMAND ${CMAKE_COMMAND} -E copy ${ASSIMP_ROOT_DIR}/bin${ASSIMP_ARCHITECTURE}/assimp-${ASSIMP_MSVC_VERSION}-mt.dll 		${TargetDirectory}/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.dll
 			COMMENT "Copying Assimp binaries to '${TargetDirectory}'"
 			VERBATIM)
 		ENDFUNCTION(ASSIMP_COPY_BINARIES)
 	
-	endif(MSVC14)
+	endif()
 	
 else(WIN32)