mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-19 19:35:26 +00:00
Merge branch 'cmake_adjustments' of github.com:Ragora/Torque3D into cmake_adjustments
This commit is contained in:
commit
790cb17435
236 changed files with 30902 additions and 7540 deletions
|
|
@ -89,6 +89,16 @@ endif (WIN32)
|
|||
# Handle terrain
|
||||
file(GLOB TORQUE_TERRAIN_SOURCES "terrain/*.cpp")
|
||||
|
||||
if (WIN32 AND TORQUE_D3D11)
|
||||
file(GLOB TORQUE_TERRAIN_SOURCES_HLSL "terrain/hlsl/*.cpp")
|
||||
set(TORQUE_TERRAIN_SOURCES ${TORQUE_TERRAIN_SOURCES} ${TORQUE_TERRAIN_SOURCES_HLSL})
|
||||
endif (WIN32 AND TORQUE_D3D11)
|
||||
|
||||
if (TORQUE_OPENGL)
|
||||
file(GLOB TORQUE_TERRAIN_SOURCES_GLSL "terrain/glsl/*.cpp")
|
||||
set(TORQUE_TERRAIN_SOURCES ${TORQUE_TERRAIN_SOURCES} ${TORQUE_TERRAIN_SOURCES_GLSL})
|
||||
endif (TORQUE_OPENGL)
|
||||
|
||||
# Handle Materials
|
||||
file(GLOB TORQUE_MATERIALS_SOURCES "materials/*.cpp")
|
||||
|
||||
|
|
@ -118,6 +128,11 @@ file(GLOB TORQUE_I18N_SOURCES "i18n/*.cpp")
|
|||
# Handle Platform POSIX
|
||||
if (UNIX)
|
||||
file(GLOB TORQUE_PLATFORM_POSIX_SOURCES "platformPOSIX/*.cpp")
|
||||
|
||||
if (TORQUE_CPU_X32 OR TORQUE_CPU_X64)
|
||||
file(GLOB TORQUE_PLATFORM_X86_UNIX_SOURCES "platformX86UNIX/*.cpp")
|
||||
set(TORQUE_PLATFORM_POSIX_SOURCES ${TORQUE_PLATFORM_POSIX_SOURCES} ${TORQUE_PLATFORM_X86_UNIX_SOURCES})
|
||||
endif (TORQUE_CPU_X32 OR TORQUE_CPU_X64)
|
||||
endif (UNIX)
|
||||
|
||||
# Handle platformMac
|
||||
|
|
@ -133,11 +148,15 @@ endif (WIN32)
|
|||
# Handle platformSDL
|
||||
file(GLOB TORQUE_PLATFORM_SDL_SOURCES "platformSDL/*.cpp" "platformSDL/threads/*.cpp")
|
||||
|
||||
# Handle platformX11
|
||||
if (UNIX AND NOT APPLE)
|
||||
file(GLOB TORQUE_PLATFORM_X11_SOURCES "platformX11/*.cpp")
|
||||
endif (UNIX AND NOT APPLE)
|
||||
|
||||
################# Start building libs ###################
|
||||
|
||||
set(TORQUE_COMPILE_DEFINITIONS ICE_NO_DLL PCRE_STATIC TORQUE_ADVANCED_LIGHTING TORQUE_SHADERGEN
|
||||
TORQUE_OPENGL TORQUE_OPCODE TORQUE_ASSIMP TORQUE_SDL TORQUE_COLLADA
|
||||
TORQUE_OPCODE TORQUE_ASSIMP TORQUE_SDL TORQUE_COLLADA
|
||||
TORQUE_UNICODE UNICODE _UNICODE)
|
||||
|
||||
# Set common linkages
|
||||
|
|
@ -150,14 +169,13 @@ set (TORQUE_SOURCE_FILES "main/main.cpp"
|
|||
${TORQUE_CINTERFACE_SOURCES} ${TORQUE_MATH_SOURCES}
|
||||
${TORQUE_PLATFORM_SOURCES} ${TORQUE_ASSETS_SOURCES} ${TORQUE_UTIL_SOURCES}
|
||||
${TORQUE_CORE_SOURCES} ${TORQUE_PERSISTENCE_SOURCES} ${TORQUE_MODULE_SOURCES}
|
||||
${TORQUE_PLATFORM_SDL_SOURCES} ${TORQUE_PLATFORM_MAC_SOURCES} ${TORQUE_PLATFORM_POSIX_SOURCES}
|
||||
${TORQUE_PLATFORM_SDL_SOURCES} ${TORQUE_PLATFORM_POSIX_SOURCES}
|
||||
${TORQUE_WINDOW_MANAGER_SOURCES} ${TORQUE_SCENE_SOURCES} ${TORQUE_COLLISION_SOURCES}
|
||||
${TORQUE_T3D_SOURCES} ${TORQUE_TS_SOURCES} ${TORQUE_SIM_SOURCES} ${TORQUE_MATERIALS_SOURCES}
|
||||
${TORQUE_SHADERGEN_SOURCES} ${TORQUE_LIGHTING_SOURCES} ${TORQUE_GUI_SOURCES}
|
||||
${TORQUE_ENVIRONMENT_SOURCES} ${TORQUE_TERRAIN_SOURCES} ${TORQUE_POSTFX_SOURCES}
|
||||
${TORQUE_I18N_SOURCES} ${TORQUE_CONSOLE_SOURCES} ${TORQUE_SFX_SOURCES} ${TORQUE_GFX_SOURCES})
|
||||
|
||||
|
||||
# When on Windows, we need to link against winsock and windows codecs
|
||||
if (WIN32)
|
||||
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} WS2_32.LIB windowscodecs.lib)
|
||||
|
|
@ -172,9 +190,20 @@ endif (WIN32 AND TORQUE_D3D11)
|
|||
# Only link Apple frameworks when on an Apple platform
|
||||
if (APPLE)
|
||||
enable_language(OBJC)
|
||||
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} ${TORQUE_PLATFORM_MAC_SOURCES})
|
||||
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} "-framework Cocoa" "-framework AppKit" "-framework CoreData" "-framework Foundation")
|
||||
endif (APPLE)
|
||||
|
||||
if (TORQUE_OPENGL)
|
||||
set(TORQUE_COMPILE_DEFINITIONS ${TORQUE_COMPILE_DEFINITIONS} TORQUE_OPENGL)
|
||||
endif (TORQUE_OPENGL)
|
||||
|
||||
# Linux requires X11
|
||||
if (UNIX AND NOT APPLE)
|
||||
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} "X11")
|
||||
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} ${TORQUE_PLATFORM_X11_SOURCES})
|
||||
endif (UNIX AND NOT APPLE)
|
||||
|
||||
# Search module directories
|
||||
set(TORQUE_MODULE_PATHS "${CMAKE_SOURCE_DIR}/Tools/CMake/modules")
|
||||
|
||||
|
|
@ -217,6 +246,7 @@ endif()
|
|||
target_compile_definitions(${TORQUE_APP_NAME} PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
|
||||
target_link_libraries(${TORQUE_APP_NAME} ${TORQUE_LINK_LIBRARIES})
|
||||
target_include_directories(${TORQUE_APP_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
|
||||
set_property(TARGET ${TORQUE_APP_NAME} PROPERTY CXX_STANDARD 17)
|
||||
|
||||
if (WIN32)
|
||||
set_target_properties(${TORQUE_APP_NAME} PROPERTIES COMPILE_FLAGS "-D_CRT_SECURE_NO_WARNINGS /MP /Zc:wchar_t-")
|
||||
|
|
@ -235,17 +265,18 @@ if (UNIX AND NOT APPLE)
|
|||
endif (UNIX AND NOT APPLE)
|
||||
|
||||
# Process link libraries for dynamic links - we do this on OSX to ensure the binaries end up in the correct App directory
|
||||
# as in the root CMake we force everything to be in game
|
||||
if (APPLE)
|
||||
get_target_property(GAME_LINK_LIBRARIES ${TORQUE_APP_NAME} LINK_LIBRARIES)
|
||||
foreach (GAME_LINK_LIBRARY ${GAME_LINK_LIBRARIES})
|
||||
# For eg. OSX some links are not valid targets - for example frameworks provided by OS
|
||||
if (TARGET ${GAME_LINK_LIBRARY})
|
||||
get_target_property(LINK_LIBRARY_TYPE ${GAME_LINK_LIBRARY} TYPE)
|
||||
get_target_property(LINK_LIBRARY_TYPE ${GAME_LINK_LIBRARY} TYPE)
|
||||
|
||||
# Only pay attention to shared libraries
|
||||
if ("${LINK_LIBRARY_TYPE}" STREQUAL "SHARED_LIBRARY")
|
||||
set_target_properties( ${GAME_LINK_LIBRARY} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "game/${TORQUE_APP_NAME}.app/Resources")
|
||||
endif()
|
||||
# Only pay attention to shared libraries and make them output to the app resources
|
||||
if ("${LINK_LIBRARY_TYPE}" STREQUAL "SHARED_LIBRARY")
|
||||
set_target_properties( ${GAME_LINK_LIBRARY} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TORQUE_APP_GAME_DIRECTORY}/${TORQUE_APP_NAME}.app/Resources")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endif (APPLE)
|
||||
Loading…
Add table
Add a link
Reference in a new issue