mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
cmake cleanups
new global defines: TORQUE_LIB_ROOT_DIRECTORY and TORQUE_LIB_TARG_DIRECTORY for source location and target to build static libs, respectively
reassign location back to torqueConfig.h, torque.rc, and Info.plist to "${TORQUE_APP_ROOT_DIRECTORY}/source/ aka \My Projects\<apname>\source by request
This commit is contained in:
parent
a5e75dfd61
commit
b278802645
|
|
@ -24,6 +24,10 @@ endif()
|
|||
set(TORQUE_APP_ROOT_DIRECTORY "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}")
|
||||
set(TORQUE_APP_GAME_DIRECTORY "${TORQUE_APP_ROOT_DIRECTORY}/game")
|
||||
|
||||
#library handling
|
||||
set(TORQUE_LIB_ROOT_DIRECTORY "${CMAKE_SOURCE_DIR}/Engine/Lib")
|
||||
set(TORQUE_LIB_TARG_DIRECTORY "${CMAKE_BINARY_DIR}/Engine/Lib")
|
||||
|
||||
# Ensure all possible configurations end up in the project directory
|
||||
set(CMAKE_INSTALL_PREFIX "${TORQUE_APP_ROOT_DIRECTORY}")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${TORQUE_APP_GAME_DIRECTORY}")
|
||||
|
|
@ -67,6 +71,6 @@ if (NOT TORQUE_INSTALLED_TEMPLATE)
|
|||
endif(NOT TORQUE_INSTALLED_TEMPLATE)
|
||||
|
||||
# Generate torqueConfig.h in our temp directory
|
||||
configure_file("${CMAKE_SOURCE_DIR}/Tools/CMake/torqueConfig.h.in" "${CMAKE_BINARY_DIR}/temp/torqueConfig.h")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/Tools/CMake/torqueConfig.h.in" "${TORQUE_APP_ROOT_DIRECTORY}/source/torqueConfig.h")
|
||||
|
||||
add_subdirectory(Engine)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ get_filename_component(ZLIB_ROOT "zlib" REALPATH BASE_DIR "${CMAKE_CURRENT_SOURC
|
|||
set(ZLIB_ROOT "${ZLIB_ROOT}" CACHE STRING "ZLib root location" FORCE)
|
||||
mark_as_advanced(ZLIB_ROOT)
|
||||
# Png depends on zlib
|
||||
add_subdirectory(zlib ${CMAKE_BINARY_DIR}/temp/zlib EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(zlib ${TORQUE_LIB_TARG_DIRECTORY}/zlib EXCLUDE_FROM_ALL)
|
||||
|
||||
if(APPLE)
|
||||
enable_language(OBJC)
|
||||
|
|
@ -109,8 +109,8 @@ mark_as_advanced(SDL_WERROR)
|
|||
mark_as_advanced(SDL_X11)
|
||||
mark_as_advanced(SDL_XINPUT)
|
||||
|
||||
add_subdirectory(sdl ${CMAKE_BINARY_DIR}/temp/sdl2 EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(nativeFileDialogs ${CMAKE_BINARY_DIR}/temp/nfd EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(sdl ${TORQUE_LIB_TARG_DIRECTORY}/sdl2 EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(nativeFileDialogs ${TORQUE_LIB_TARG_DIRECTORY}/nfd EXCLUDE_FROM_ALL)
|
||||
|
||||
# Assimp
|
||||
advanced_option(ASSIMP_HUNTER_ENABLED "Enable Hunter package manager support" OFF)
|
||||
|
|
@ -151,7 +151,7 @@ mark_as_advanced(ASSIMP_LIBRARY_OUTPUT_DIRECTORY)
|
|||
mark_as_advanced(ASSIMP_LIBRARY_SUFFIX)
|
||||
mark_as_advanced(ASSIMP_PACKAGE_VERSION)
|
||||
mark_as_advanced(ASSIMP_RUNTIME_OUTPUT_DIRECTORY)
|
||||
add_subdirectory(assimp ${CMAKE_BINARY_DIR}/temp/assimp EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(assimp ${TORQUE_LIB_TARG_DIRECTORY}/assimp EXCLUDE_FROM_ALL)
|
||||
target_compile_definitions(assimp PUBLIC ASSIMP_BUILD_NO_OWN_ZLIB)
|
||||
if (TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64)
|
||||
set(PNG_ARM_NEON on CACHE BOOL "" FORCE)
|
||||
|
|
@ -175,17 +175,17 @@ endif()
|
|||
mark_as_advanced(PNG_DEBUG)
|
||||
mark_as_advanced(PNG_FRAMEWORK)
|
||||
mark_as_advanced(PNG_PREFIX)
|
||||
add_subdirectory(lpng ${CMAKE_BINARY_DIR}/temp/lpng EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(lpng ${TORQUE_LIB_TARG_DIRECTORY}/lpng EXCLUDE_FROM_ALL)
|
||||
|
||||
|
||||
add_subdirectory(ljpeg ${CMAKE_BINARY_DIR}/temp/ljpeg EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(tinyxml ${CMAKE_BINARY_DIR}/temp/tinyxml EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(opcode ${CMAKE_BINARY_DIR}/temp/opcode EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(pcre ${CMAKE_BINARY_DIR}/temp/pcre EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(convexDecomp ${CMAKE_BINARY_DIR}/temp/convexDecomp EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(squish ${CMAKE_BINARY_DIR}/temp/squish EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(collada ${CMAKE_BINARY_DIR}/temp/collada EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(glad ${CMAKE_BINARY_DIR}/temp/glad EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(ljpeg ${TORQUE_LIB_TARG_DIRECTORY}/ljpeg EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(tinyxml ${TORQUE_LIB_TARG_DIRECTORY}/tinyxml EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(opcode ${TORQUE_LIB_TARG_DIRECTORY}/opcode EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(pcre ${TORQUE_LIB_TARG_DIRECTORY}/pcre EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(convexDecomp ${TORQUE_LIB_TARG_DIRECTORY}/convexDecomp EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(squish ${TORQUE_LIB_TARG_DIRECTORY}/squish EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(collada ${TORQUE_LIB_TARG_DIRECTORY}/collada EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(glad ${TORQUE_LIB_TARG_DIRECTORY}/glad EXCLUDE_FROM_ALL)
|
||||
|
||||
#hidden options
|
||||
if(TORQUE_SFX_OPENAL)
|
||||
|
|
@ -251,11 +251,11 @@ if(TORQUE_SFX_OPENAL)
|
|||
mark_as_advanced(AUDIOUNIT_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
add_subdirectory(libvorbis ${CMAKE_BINARY_DIR}/temp/libvorbis EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(libogg ${CMAKE_BINARY_DIR}/temp/libogg EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(libtheora ${CMAKE_BINARY_DIR}/temp/libtheora EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(libvorbis ${TORQUE_LIB_TARG_DIRECTORY}/libvorbis EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(libogg ${TORQUE_LIB_TARG_DIRECTORY}/libogg EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(libtheora ${TORQUE_LIB_TARG_DIRECTORY}/libtheora EXCLUDE_FROM_ALL)
|
||||
|
||||
if(TORQUE_TESTING)
|
||||
add_subdirectory(gtest ${CMAKE_BINARY_DIR}/temp/gtest EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(gtest ${TORQUE_LIB_TARG_DIRECTORY}/gtest EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
#endif()
|
||||
|
|
@ -229,6 +229,9 @@ endif(TORQUE_TESTING)
|
|||
|
||||
# Add the collected files to our engine group
|
||||
source_group(TREE "${CMAKE_SOURCE_DIR}/Engine/source" PREFIX "Engine" FILES ${TORQUE_SOURCE_FILES})
|
||||
file(GLOB_RECURSE TORQUE_APP_GAME_SOURCES "${TORQUE_APP_ROOT_DIRECTORY}/source/*.cpp" "${TORQUE_APP_ROOT_DIRECTORY}/source/*.h")
|
||||
source_group(TREE "${TORQUE_APP_ROOT_DIRECTORY}/source" PREFIX "Source Files" FILES ${TORQUE_APP_GAME_SOURCES})
|
||||
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${TORQUE_APP_ROOT_DIRECTORY}/source")
|
||||
|
||||
################# Engine Module Handling ###################
|
||||
|
||||
|
|
@ -239,7 +242,7 @@ endif()
|
|||
|
||||
# Before doing module scanning, store away the engine sources - we do this so that modules
|
||||
# can be placed into the proper filters
|
||||
set(TORQUE_SOURCE_FILES_TEMPORARY ${TORQUE_SOURCE_FILES})
|
||||
set(TORQUE_SOURCE_FILES_TEMPORARY ${TORQUE_SOURCE_FILES} ${TORQUE_APP_GAME_SOURCES})
|
||||
set(TORQUE_SOURCE_FILES "")
|
||||
|
||||
foreach (TORQUE_MODULE_PATH ${TORQUE_MODULE_PATHS})
|
||||
|
|
@ -299,8 +302,8 @@ endforeach()
|
|||
if (WIN32)
|
||||
set(APPLICATION_ICON_PATH "${CMAKE_SOURCE_DIR}/Tools/CMake/torque.ico")
|
||||
|
||||
configure_file("${CMAKE_SOURCE_DIR}/Tools/CMake/torque-win.rc.in" "${CMAKE_BINARY_DIR}/temp/torque.rc")
|
||||
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} "${CMAKE_BINARY_DIR}/temp/torque.rc")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/Tools/CMake/torque-win.rc.in" "${TORQUE_APP_ROOT_DIRECTORY}/source/torque.rc")
|
||||
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} "${TORQUE_APP_ROOT_DIRECTORY}/source/torque.rc")
|
||||
endif (WIN32)
|
||||
|
||||
# Prepare OSX Plist
|
||||
|
|
@ -309,7 +312,7 @@ if (APPLE)
|
|||
set_source_files_properties("${CMAKE_SOURCE_DIR}/Tools/CMake/torque.icns" PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
|
||||
|
||||
set(EXECUTABLE_NAME "${TORQUE_APP_NAME}")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/Tools/CMake/Info.plist.in" "${CMAKE_BINARY_DIR}/temp/Info.plist" COPYONLY)
|
||||
configure_file("${CMAKE_SOURCE_DIR}/Tools/CMake/Info.plist.in" "${TORQUE_APP_ROOT_DIRECTORY}/source/Info.plist" COPYONLY)
|
||||
endif (APPLE)
|
||||
|
||||
addDef(TORQUE_DEBUG Debug)
|
||||
|
|
@ -349,7 +352,7 @@ endif (TORQUE_DYNAMIC_LIBRARY AND NOT TORQUE_TESTING)
|
|||
|
||||
if (APPLE)
|
||||
add_executable(${TORQUE_APP_NAME} MACOSX_BUNDLE ${TORQUE_SOURCE_FILES})
|
||||
set_target_properties(${TORQUE_APP_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_BINARY_DIR}/temp/Info.plist")
|
||||
set_target_properties(${TORQUE_APP_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${TORQUE_APP_ROOT_DIRECTORY}/source/Info.plist")
|
||||
|
||||
# Ensure the shared libraries are actually referenced at the correct path
|
||||
set(CMAKE_XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/../Frameworks")
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ if(TORQUE_PHYSICS_BULLET)
|
|||
Bullet2FileLoader BulletDynamics Bullet3OpenCL_clew Bullet3Common
|
||||
LinearMath Bullet3Geometry Bullet3Collision)
|
||||
set(TORQUE_COMPILE_DEFINITIONS ${TORQUE_COMPILE_DEFINITIONS} TORQUE_PHYSICS_BULLET TORQUE_PHYSICS_ENABLED)
|
||||
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${CMAKE_SOURCE_DIR}/Engine/lib/bullet/src" )
|
||||
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${TORQUE_LIB_ROOT_DIRECTORY}/bullet/src" )
|
||||
|
||||
# Since Bullet lives elsewhere we need to ensure it is known to Torque when providing a link to it
|
||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Bullet Shared Libs" FORCE)
|
||||
set(BUILD_CPU_DEMOS OFF CACHE BOOL "Bullet CPU Demos" FORCE)
|
||||
set(BUILD_BULLET2_DEMOS OFF CACHE BOOL "Bullet2 Demos" FORCE)
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/Engine/lib/bullet" ${CMAKE_BINARY_DIR}/temp/bullet EXCLUDE_FROM_ALL)
|
||||
add_subdirectory("${TORQUE_LIB_ROOT_DIRECTORY}/bullet" ${TORQUE_LIB_TARG_DIRECTORY}/bullet EXCLUDE_FROM_ALL)
|
||||
endif(TORQUE_PHYSICS_BULLET)
|
||||
|
|
|
|||
|
|
@ -48,11 +48,11 @@ elseif(APPLE)
|
|||
set(CURL_USE_OPENSSL OFF CACHE INTERNAL "" FORCE)
|
||||
set(CURL_USE_SECTRANSP ON CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/Engine/lib/curl" "${CMAKE_CURRENT_BINARY_DIR}/curl")
|
||||
add_subdirectory("${TORQUE_LIB_ROOT_DIRECTORY}/curl" "${CMAKE_CURRENT_BINARY_DIR}/curl")
|
||||
|
||||
set(CURL_LIBRARIES libcurl)
|
||||
set(CURL_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/Engine/lib/curl/include")
|
||||
set(CURL_INCLUDE_DIRS "${TORQUE_LIB_ROOT_DIRECTORY}/curl/include")
|
||||
set_property(TARGET libcurl APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS CURL_STATICLIB)
|
||||
|
||||
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libcurl)
|
||||
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${CMAKE_SOURCE_DIR}/Engine/lib/curl/src" )
|
||||
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${TORQUE_LIB_ROOT_DIRECTORY}/curl/src" )
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@ if(TORQUE_NAVIGATION)
|
|||
set(TORQUE_COMPILE_DEFINITIONS ${TORQUE_COMPILE_DEFINITIONS} recast TORQUE_NAVIGATION_ENABLED)
|
||||
|
||||
# Since recast lives elsewhere we need to ensure it is known to Torque when providing a link to it
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/Engine/lib/recast" ${CMAKE_BINARY_DIR}/temp/recast EXCLUDE_FROM_ALL)
|
||||
add_subdirectory("${TORQUE_LIB_ROOT_DIRECTORY}/recast" ${TORQUE_LIB_TARG_DIRECTORY}/recast EXCLUDE_FROM_ALL)
|
||||
source_group(TREE "${CMAKE_SOURCE_DIR}/Engine/source/navigation/" PREFIX "Modules/NAVIGATION" FILES ${TORQUE_NAV_SOURCES})
|
||||
endif(TORQUE_NAVIGATION)
|
||||
|
|
|
|||
|
|
@ -23,5 +23,5 @@ if(TORQUE_SFX_OPENAL)
|
|||
set(ALSOFT_UTILS OFF CACHE BOOL "OpenAL Utilities" FORCE)
|
||||
set(ALSOFT_UPDATE_BUILD_VERSION OFF CACHE BOOL "Update build Version" UPDATE)
|
||||
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/Engine/lib/openal-soft" ${CMAKE_BINARY_DIR}/temp/openal-soft EXCLUDE_FROM_ALL)
|
||||
add_subdirectory("${TORQUE_LIB_ROOT_DIRECTORY}/openal-soft" ${TORQUE_LIB_TARG_DIRECTORY}/openal-soft EXCLUDE_FROM_ALL)
|
||||
endif(TORQUE_SFX_OPENAL)
|
||||
|
|
|
|||
Loading…
Reference in a new issue