* Feature: Obtain a building executable on MacOS, but need to resolve the crashing issues and multi-configuration settings.

This commit is contained in:
Robert MacGregor 2022-05-17 13:14:00 -04:00
parent d7cdf54661
commit 786dac7419
3 changed files with 229 additions and 103 deletions

View file

@ -21,3 +21,4 @@ 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)

View file

@ -1,4 +1,4 @@
file(GLOB PCRE_SOURCES "*.c")
file(GLOB PCRE_SOURCES "*.c" "*.cc")
add_library(pcre STATIC ${PCRE_SOURCES})
target_compile_definitions(pcre PUBLIC PCRE_STATIC HAVE_CONFIG_H)

View file

@ -76,99 +76,19 @@ setupVersionNumbers()
# Generate torqueConfig.h in our temp directory
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/Tools/CMake/torqueConfig.h.in" "${CMAKE_BINARY_DIR}/temp/torqueConfig.h")
#[[
addPathRec("${srcDir}/app")
addPath("${srcDir}/i18n")
addPath("${srcDir}/util")
addPath("${srcDir}/platform")
if(NOT TORQUE_SDL)
set(BLACKLIST "fileDialog.cpp" )
endif()
addPath("${srcDir}/platform/nativeDialogs")
set(BLACKLIST "" )
if( NOT TORQUE_DEDICATED )
addPath("${srcDir}/platform/menus")
endif()
addPath("${srcDir}/collision")
addPath("${srcDir}/materials")
addPath("${srcDir}/lighting")
addPath("${srcDir}/lighting/common")
addPath("${srcDir}/renderInstance")
addPath("${srcDir}/renderInstance/debug")
addPath("${srcDir}/shaderGen")
addPath("${srcDir}/terrain")
addPath("${srcDir}/environment")
addPath("${srcDir}/physics")
addPath("${srcDir}/postFx")
addPath("${srcDir}/T3D")
set(BLACKLIST "" )
addPath("${srcDir}/module")
addPathRec("${projectSrcDir}")
]]
# Perform engine build. We do this initially as a lib for easier unit testing.
file(GLOB TORQUE_MAIN_SOURCES "main/*.cpp")
file(GLOB TORQUE_APP_SOURCES "app/*.cpp")
file(GLOB TORQUE_APP_SOURCES "app/*.cpp" "app/net/*.cpp")
# Handle Platform
file(GLOB TORQUE_PLATFORM_SOURCES "platform/threads/*.cpp" "platform/async/*.cpp" "platform/input/*.cpp" "platform/output/*.cpp")
file(GLOB TORQUE_PLATFORM_SOURCES "platform/*.cpp" "platform/threads/*.cpp" "platform/async/*.cpp"
"platform/input/*.cpp" "platform/output/*.cpp")
# Handle T3D
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/fps/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/fx/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/vehicles/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/physics/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/decal/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/sfx/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/gameBase/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/turret/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/lighting/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/gameOBjects/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/components/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/systems/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/assets/*.cpp")
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_T3D_SOURCES} ${TORQUE_3D_NEXT_SOURCES})
#message(FATAL_ERROR ${TORQUE_T3D_SOURCES})
file(GLOB TORQUE_T3D_SOURCES "T3D/fps/*.cpp" "T3D/fx/*.cpp" "T3D/vehicles/*.cpp" "T3D/physics/*.cpp"
"T3D/decal/*.cpp" "T3D/sfx/*.cpp" "T3D/gameBase/*.cpp" "T3D/turret/*.cpp"
"T3D/lighting/*.cpp" "T3D/gameOBjects/*.cpp" "T3D/components/*.cpp"
"T3D/systems/*.cpp" "T3D/assets/*.cpp" "T3D/*.cpp" "T3D/gameBase/std/*.cpp")
# Handle TS
file(GLOB TORQUE_TS_SOURCES "ts/*.cpp" "ts/collada/*.cpp" "ts/assimp/*.cpp" "ts/loader/*.cpp" "ts/arch/*.cpp")
@ -186,7 +106,11 @@ file(GLOB TORQUE_CORE_SOURCES "core/*.cpp" "core/stream/*.cpp" "core/strings/*.c
# Handle GUI
file(GLOB TORQUE_GUI_SOURCES "gui/*.cpp" "gui/buttons/*.cpp" "gui/containers/*.cpp" "gui/controls/*.cpp" "gui/core/*.cpp"
"gui/game/*.cpp" "gui/shiny/*.cpp" "gui/utility/*.cpp" "gui/3d/*.cpp")
"gui/game/*.cpp" "gui/shiny/*.cpp" "gui/utility/*.cpp" "gui/3d/*.cpp" "gui/editor/*.cpp"
"gui/worldEditor/*.cpp" "gui/worldEditor/tools/*.cpp" "gui/editor/inspector/*.cpp")
# Handle postFX
file(GLOB TORQUE_POSTFX_SOURCES "postFx/*.cpp")
# Handle Windowmanager
file(GLOB TORQUE_WINDOW_MANAGER_SOURCES "windowManager/*.cpp" "windowManager/torque/*.cpp" "windowManager/sdl/*.cpp")
@ -203,7 +127,7 @@ file(GLOB TORQUE_MATH_SOURCES "math/*.cpp" "math/util/*.cpp")
# Handle persistence
#addPathRec("${srcDir}/persistence")
file(GLOB TORQUE_PERSISTENCE_SOURCES "persistence/taml/*.cpp")
file(GLOB TORQUE_PERSISTENCE_SOURCES "persistence/taml/*.cpp" "persistence/taml/binary/*.cpp" "persistence/taml/xml/*.cpp")
# Handle Cinterface
file(GLOB TORQUE_CINTERFACE_SOURCES "cinterface/*.cpp")
@ -227,17 +151,31 @@ file(GLOB TORQUE_MODULE_SOURCES "module/*.cpp")
file(GLOB TORQUE_FOREST_SOURCES "forest/*.cpp" "forest/ts/*.cpp")
# Handle shadergen
file(GLOB TORQUE_SHADERGEN_SOURCES "shadergen/*.cpp")
file(GLOB TORQUE_SHADERGEN_SOURCES "shaderGen/*.cpp" "shadergen/GLSL/*.cpp")
# Handle terrain
file(GLOB TORQUE_TERRAIN_SOURCES "terrain/*.cpp")
# Handle Materials
file(GLOB TORQUE_MATERIALS_SOURCES "materals/*.cpp")
file(GLOB TORQUE_MATERIALS_SOURCES "materials/*.cpp")
# Handle collision
file(GLOB TORQUE_COLLISION_SOURCES "collision/*.cpp")
# Handle lighting
file(GLOB TORQUE_LIGHTING_SOURCES "lighting/*.cpp" "lighting/common/*.cpp"
"lighting/advanced/*.cpp" "lighting/shadowMap/*.cpp"
"lighting/advanced/glsl/*.cpp")
# Handle environment
file(GLOB TORQUE_ENVIRONMENT_SOURCES "environment/*.cpp")
# Handle renderInstance
file(GLOB TORQUE_RENDERINSTANCE_SOURCES "renderInstance/*.cpp")
# Handle i18n
file(GLOB TORQUE_I18N_SOURCES "i18n/*.cpp")
# Begin handling platform specific stuff
# Handle Platform POSIX
if (UNIX)
@ -249,19 +187,206 @@ if (APPLE)
file(GLOB TORQUE_PLATFORM_MAC_SOURCES "platformMac/*.mm")
endif (APPLE)
# Handle platformSDL
file(GLOB TORQUE_PLATFORM_SDL_SOURCES "platformSDL/*.cpp" "platformSDL/threads/*.cpp")
# Link generic libs
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} png "-framework Cocoa" "-framework AppKit" "-framework CoreData" "-framework Foundation")
set(TORQUE_COMPILE_DEFINITIONS ICE_NO_DLL PCRE_STATIC TORQUE_ADVANCED_LIGHTING TORQUE_TOOLS TORQUE_SHADERGEN TORQUE_OPENGL TORQUE_OPCODE TORQUE_ASSIMP TORQUE_SDL TORQUE_COLLADA TORQUE_UNICODE)
################# Start building libs ###################
# Set common linkages
set(TORQUE_LINK_LIBRARIES tinyxml collada ljpeg squish png opcode assimp
SDL2 glad pcre "-framework Cocoa" "-framework AppKit"
"-framework CoreData" "-framework Foundation")
# [[ SFX ]]
add_library(SFX STATIC ${TORQUE_SFX_SOURCES})
target_compile_definitions(SFX PUBLIC ICE_NO_DLL ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(SFX PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(SFX PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ GFX ]]
add_library(GFX STATIC ${TORQUE_GFX_SOURCES})
target_compile_definitions(GFX PUBLIC ICE_NO_DLL ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(GFX PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(GFX PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Console ]]
add_library(Console STATIC ${TORQUE_CONSOLE_SOURCES})
target_compile_definitions(Console PUBLIC ICE_NO_DLL ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Console PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Console PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Core ]]
add_library(Core STATIC ${TORQUE_CORE_SOURCES})
target_compile_definitions(Core PUBLIC ICE_NO_DLL ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Core PUBLIC ${TORQUE_LINK_LIBRARIES} Console)
target_include_directories(Core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Util ]]
add_library(Util STATIC ${TORQUE_UTIL_SOURCES})
target_compile_definitions(Util PUBLIC ICE_NO_DLL ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Util PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Math ]]
add_library(Math STATIC ${TORQUE_MATH_SOURCES})
target_compile_definitions(Math PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Math PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Math PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Generic Platform ]]
add_library(Platform STATIC ${TORQUE_PLATFORM_SOURCES})
target_compile_definitions(Platform PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Platform PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Platform PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ SDL Platform ]]
add_library(PlatformSDL STATIC ${TORQUE_PLATFORM_SDL_SOURCES})
target_compile_definitions(PlatformSDL PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(PlatformSDL PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(PlatformSDL PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ App ]]
add_library(App STATIC ${TORQUE_APP_SOURCES})
target_compile_definitions(App PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(App PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(App PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ CInterface ]]
add_library(CInterface STATIC ${TORQUE_CINTERFACE_SOURCES})
target_compile_definitions(CInterface PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(CInterface PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(CInterface PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Assets ]]
add_library(Assets STATIC ${TORQUE_ASSETS_SOURCES})
target_compile_definitions(Assets PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Assets PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Assets PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Persistence ]]
add_library(Persistence STATIC ${TORQUE_PERSISTENCE_SOURCES})
target_compile_definitions(Persistence PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Persistence PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Persistence PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ TS ]]
add_library(TS STATIC ${TORQUE_TS_SOURCES})
target_compile_definitions(TS PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(TS PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(TS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Module ]]
add_library(Module STATIC ${TORQUE_MODULE_SOURCES})
target_compile_definitions(Module PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Module PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Module PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ T3D ]]
add_library(T3D STATIC ${TORQUE_T3D_SOURCES})
target_compile_definitions(T3D PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(T3D PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(T3D PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Scene ]]
add_library(Scene STATIC ${TORQUE_SCENE_SOURCES})
target_compile_definitions(Scene PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Scene PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Scene PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Collision ]]
add_library(Collision STATIC ${TORQUE_COLLISION_SOURCES})
target_compile_definitions(Collision PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Collision PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Collision PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Window Manager ]]
add_library(WindowManager STATIC ${TORQUE_WINDOW_MANAGER_SOURCES})
target_compile_definitions(WindowManager PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(WindowManager PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(WindowManager PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ POSIX Platform ]]
add_library(PlatformPOSIX STATIC ${TORQUE_PLATFORM_POSIX_SOURCES})
target_compile_definitions(PlatformPOSIX PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(PlatformPOSIX PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(PlatformPOSIX PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Sim ]]
add_library(Sim STATIC ${TORQUE_SIM_SOURCES})
target_compile_definitions(Sim PUBLIC ICE_NO_DLL ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Sim PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Sim PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ GUI ]]
add_library(GUI STATIC ${TORQUE_GUI_SOURCES})
target_compile_definitions(GUI PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(GUI PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(GUI PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Terrain ]]
add_library(Terrain STATIC ${TORQUE_TERRAIN_SOURCES})
target_compile_definitions(Terrain PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Terrain PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Terrain PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Lighting ]]
add_library(Lighting STATIC ${TORQUE_LIGHTING_SOURCES})
target_compile_definitions(Lighting PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Lighting PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Lighting PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Shadergen ]]
add_library(Shadergen STATIC ${TORQUE_SHADERGEN_SOURCES})
target_compile_definitions(Shadergen PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Shadergen PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Shadergen PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Materials ]]
add_library(Materials STATIC ${TORQUE_MATERIALS_SOURCES})
target_compile_definitions(Materials PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Materials PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Materials PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ MacOS Platform ]]
add_library(PlatformMac STATIC ${TORQUE_PLATFORM_MAC_SOURCES})
target_compile_definitions(PlatformMac PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(PlatformMac PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(PlatformMac PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ RenderInstance ]]
add_library(RenderInstance STATIC ${TORQUE_RENDERINSTANCE_SOURCES})
target_compile_definitions(RenderInstance PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(RenderInstance PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(RenderInstance PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ PostFX ]]
add_library(PostFX STATIC ${TORQUE_POSTFX_SOURCES})
target_compile_definitions(PostFX PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(PostFX PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(PostFX PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ i18n ]]
add_library(I18N STATIC ${TORQUE_I18N_SOURCES})
target_compile_definitions(I18N PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(I18N PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(I18N PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# [[ Environment ]]
add_library(Environment STATIC ${TORQUE_ENVIRONMENT_SOURCES})
target_compile_definitions(Environment PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Environment PUBLIC ${TORQUE_LINK_LIBRARIES})
target_include_directories(Environment PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
# Final executable
add_executable(Game ${TORQUE_PLATFORM_SOURCES} ${TORQUE_UTIL_SOURCES} ${TORQUE_CORE_SOURCES}
${TORQUE_T3D_SOURCES} ${TORQUE_SIM_SOURCES} ${TORQUE_SFX_SOURCES} ${TORQUE_APP_SOURCES} ${TORQUE_CONSOLE_SOURCES}
${TORQUE_PERSISTENCE_SOURCES} ${TORQUE_PLATFORM_MAC_SOURCES} ${TORQUE_PLATFORM_POSIX_SOURCES}
${TORQUE_GUI_SOURCES} ${TORQUE_GFX_SOURCES} ${TORQUE_APP_SOURCES} ${TORQUE_MATH_SOURCES}
${TORQUE_PERSISTENCE_SOURCES} ${TORQUE_ASSETS_SOURCES} ${TORQUE_WINDOW_MANAGER_SOURCES}
${TORQUE_TERRAIN_SOURCES} ${TORQUE_TS_SOURCES} ${TORQUE_CINTERFACE_SOURCES} ${TORQUE_COLLISION_SOURCES}
${TORQUE_SCENE_SOURCES} ${TORQUE_MATERIALS_SOURCES} "main/main.cpp")
target_compile_definitions(Game PUBLIC ICE_NO_DLL TORQUE_OPCODE TORQUE_SDL TORQUE_COLLADA TORQUE_COLLADA TORQUE_UNICODE)
target_link_libraries(Game tinyxml collada ljpeg squish png assimp SDL2 "-framework Cocoa" "-framework AppKit" "-framework CoreData"
"-framework Foundation")
add_executable(Game "main/main.cpp")
target_compile_definitions(Game PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
target_link_libraries(Game ${TORQUE_LINK_LIBRARIES} App Assets Platform Math Console Util Core
CInterface Persistence Module PlatformSDL PlatformMac
PlatformPOSIX WindowManager GFX SFX Scene Collision T3D TS
Sim Materials Shadergen Lighting GUI Environment Terrain
RenderInstance PostFX I18N)
target_include_directories(Game PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")