瀏覽代碼

cmake improvements: correct build folder without installing, merged luis resource copy fix. fixed usage of the app name. added source folder to build configuration

Thomas Fischer 11 年之前
父節點
當前提交
5ffe7abee9
共有 2 個文件被更改,包括 40 次插入14 次删除
  1. 18 9
      Tools/CMake/basics.cmake
  2. 22 5
      Tools/CMake/torque3d.cmake

+ 18 - 9
Tools/CMake/basics.cmake

@@ -2,17 +2,18 @@ project("Torque3DEngine")
 
 set(TORQUE_TEMPLATE "Empty" CACHE STRING "the template to use")
 
-set(projectOutDir "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_TEMPLATE}")
-set(projectSrcDir "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_TEMPLATE}/source")
-set(libDir "${CMAKE_SOURCE_DIR}/Engine/lib")
-set(srcDir "${CMAKE_SOURCE_DIR}/Engine/source")
-set(cmakeDir "${CMAKE_SOURCE_DIR}/Tools/CMake")
+set(projectOutDir "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}")
+set(projectSrcDir "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}/source")
+set(libDir        "${CMAKE_SOURCE_DIR}/Engine/lib")
+set(srcDir        "${CMAKE_SOURCE_DIR}/Engine/source")
+set(cmakeDir      "${CMAKE_SOURCE_DIR}/Tools/CMake")
 
 # output folders
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${projectOutDir}/bin)
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${projectOutDir}/bin)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${projectOutDir}/bin)
+#set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${projectOutDir}/bin)
+#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${projectOutDir}/bin)
+#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${projectOutDir}/bin)
 
+# change the default installation path to My Projects/app name
 SET(CMAKE_INSTALL_PREFIX "${projectOutDir}" CACHE INTERNAL "Prefix prepended to install directories" FORCE)
 
 # finds and adds sources files in a folder
@@ -156,4 +157,12 @@ if(WIN32)
 endif()
 
 
-
+# fix the debug/release subfolders on windows
+if(MSVC)
+	FOREACH(CONF ${CMAKE_CONFIGURATION_TYPES})
+		# Go uppercase (DEBUG, RELEASE...)
+		STRING(TOUPPER "${CONF}" CONF)
+		#SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONF}" "${projectOutDir}")
+		SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONF}" "${projectOutDir}")
+	ENDFOREACH()
+endif()

+ 22 - 5
Tools/CMake/torque3d.cmake

@@ -139,6 +139,7 @@ addPath("${srcDir}/T3D/turret")
 addPath("${srcDir}/main/")
 addPathRec("${srcDir}/ts/collada")
 addPathRec("${srcDir}/ts/loader")
+addFile("${projectSrcDir}")
 
 ###############################################################################
 # modular paths
@@ -213,7 +214,7 @@ if(WIN32)
     addPath("${srcDir}/terrain/hlsl")
     addPath("${srcDir}/forest/hlsl")
     # add windows rc file for the icon
-    addFile("${projectSrcDir}/torque-win.rc")
+    addFile("${projectSrcDir}/torque.rc")
 endif()
 
 if(APPLE)
@@ -279,18 +280,34 @@ addExecutable()
 ###############################################################################
 ###############################################################################
 
-# configure only once
+# configure file relevant files only once
 if(NOT EXISTS ${projectSrcDir}/torqueConfig.h)
     message(STATUS "writing ${projectSrcDir}/torqueConfig.h")
     CONFIGURE_FILE(${cmakeDir}/torqueConfig.h.in ${projectSrcDir}/torqueConfig.h)
-    CONFIGURE_FILE(${cmakeDir}/torque-win.rc.in ${projectSrcDir}/torque-win.rc)
+endif()
+if(NOT EXISTS ${projectSrcDir}/torque.ico)
     CONFIGURE_FILE(${cmakeDir}/torque.ico ${projectSrcDir}/torque.ico COPYONLY)
 endif()
+if(WIN32)
+	if(NOT EXISTS ${projectSrcDir}/torque.rc)
+		CONFIGURE_FILE(${cmakeDir}/torque-win.rc.in ${projectSrcDir}/torque.rc)
+	endif()
+endif()
 
 ###############################################################################
 # Common Libraries
 ###############################################################################
-addLib("lmng;lpng;lungif;ljpeg;zlib;tinyxml;opcode;squish;collada;pcre;convexDecomp")
+addLib(lmng)
+addLib(lpng)
+addLib(lungif)
+addLib(ljpeg)
+addLib(zlib)
+addLib(tinyxml)
+addLib(opcode)
+addLib(squish)
+addLib(collada)
+addLib(pcre)
+addLib(convexDecomp)
 
 if(WIN32)
     # copy pasted from T3D build system, some might not be needed
@@ -384,5 +401,5 @@ endif()
 ###############################################################################
 # Installation
 ###############################################################################
-INSTALL_TARGETS(/ torque3d)
+#INSTALL_TARGETS(/ torque3d) # not needed anymore as we should directly build in there
 INSTALL_FILES(/ FILES ${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/game/)