* 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(convexDecomp ${CMAKE_BINARY_DIR}/temp/convexDecomp EXCLUDE_FROM_ALL)
add_subdirectory(squish ${CMAKE_BINARY_DIR}/temp/squish 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(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}) add_library(pcre STATIC ${PCRE_SOURCES})
target_compile_definitions(pcre PUBLIC PCRE_STATIC HAVE_CONFIG_H) target_compile_definitions(pcre PUBLIC PCRE_STATIC HAVE_CONFIG_H)

View file

@ -76,99 +76,19 @@ setupVersionNumbers()
# Generate torqueConfig.h in our temp directory # 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" "${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. # Perform engine build. We do this initially as a lib for easier unit testing.
file(GLOB TORQUE_MAIN_SOURCES "main/*.cpp") 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 # 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 # Handle T3D
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/fps/*.cpp") file(GLOB TORQUE_T3D_SOURCES "T3D/fps/*.cpp" "T3D/fx/*.cpp" "T3D/vehicles/*.cpp" "T3D/physics/*.cpp"
file(GLOB TORQUE_T3D_SOURCES ${TORQUE_3D_NEXT_SOURCES}) "T3D/decal/*.cpp" "T3D/sfx/*.cpp" "T3D/gameBase/*.cpp" "T3D/turret/*.cpp"
"T3D/lighting/*.cpp" "T3D/gameOBjects/*.cpp" "T3D/components/*.cpp"
file(GLOB TORQUE_3D_NEXT_SOURCES "T3D/fx/*.cpp") "T3D/systems/*.cpp" "T3D/assets/*.cpp" "T3D/*.cpp" "T3D/gameBase/std/*.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})
# Handle TS # Handle TS
file(GLOB TORQUE_TS_SOURCES "ts/*.cpp" "ts/collada/*.cpp" "ts/assimp/*.cpp" "ts/loader/*.cpp" "ts/arch/*.cpp") 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 # Handle GUI
file(GLOB TORQUE_GUI_SOURCES "gui/*.cpp" "gui/buttons/*.cpp" "gui/containers/*.cpp" "gui/controls/*.cpp" "gui/core/*.cpp" 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 # Handle Windowmanager
file(GLOB TORQUE_WINDOW_MANAGER_SOURCES "windowManager/*.cpp" "windowManager/torque/*.cpp" "windowManager/sdl/*.cpp") 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 # Handle persistence
#addPathRec("${srcDir}/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 # Handle Cinterface
file(GLOB TORQUE_CINTERFACE_SOURCES "cinterface/*.cpp") 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") file(GLOB TORQUE_FOREST_SOURCES "forest/*.cpp" "forest/ts/*.cpp")
# Handle shadergen # Handle shadergen
file(GLOB TORQUE_SHADERGEN_SOURCES "shadergen/*.cpp") file(GLOB TORQUE_SHADERGEN_SOURCES "shaderGen/*.cpp" "shadergen/GLSL/*.cpp")
# Handle terrain # Handle terrain
file(GLOB TORQUE_TERRAIN_SOURCES "terrain/*.cpp") file(GLOB TORQUE_TERRAIN_SOURCES "terrain/*.cpp")
# Handle Materials # Handle Materials
file(GLOB TORQUE_MATERIALS_SOURCES "materals/*.cpp") file(GLOB TORQUE_MATERIALS_SOURCES "materials/*.cpp")
# Handle collision # Handle collision
file(GLOB TORQUE_COLLISION_SOURCES "collision/*.cpp") 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 # Begin handling platform specific stuff
# Handle Platform POSIX # Handle Platform POSIX
if (UNIX) if (UNIX)
@ -249,19 +187,206 @@ if (APPLE)
file(GLOB TORQUE_PLATFORM_MAC_SOURCES "platformMac/*.mm") file(GLOB TORQUE_PLATFORM_MAC_SOURCES "platformMac/*.mm")
endif (APPLE) endif (APPLE)
# Handle platformSDL
file(GLOB TORQUE_PLATFORM_SDL_SOURCES "platformSDL/*.cpp" "platformSDL/threads/*.cpp")
# Link generic libs # Link generic libs
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} png "-framework Cocoa" "-framework AppKit" "-framework CoreData" "-framework Foundation") 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 # Final executable
add_executable(Game ${TORQUE_PLATFORM_SOURCES} ${TORQUE_UTIL_SOURCES} ${TORQUE_CORE_SOURCES} add_executable(Game "main/main.cpp")
${TORQUE_T3D_SOURCES} ${TORQUE_SIM_SOURCES} ${TORQUE_SFX_SOURCES} ${TORQUE_APP_SOURCES} ${TORQUE_CONSOLE_SOURCES} target_compile_definitions(Game PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
${TORQUE_PERSISTENCE_SOURCES} ${TORQUE_PLATFORM_MAC_SOURCES} ${TORQUE_PLATFORM_POSIX_SOURCES} target_link_libraries(Game ${TORQUE_LINK_LIBRARIES} App Assets Platform Math Console Util Core
${TORQUE_GUI_SOURCES} ${TORQUE_GFX_SOURCES} ${TORQUE_APP_SOURCES} ${TORQUE_MATH_SOURCES} CInterface Persistence Module PlatformSDL PlatformMac
${TORQUE_PERSISTENCE_SOURCES} ${TORQUE_ASSETS_SOURCES} ${TORQUE_WINDOW_MANAGER_SOURCES} PlatformPOSIX WindowManager GFX SFX Scene Collision T3D TS
${TORQUE_TERRAIN_SOURCES} ${TORQUE_TS_SOURCES} ${TORQUE_CINTERFACE_SOURCES} ${TORQUE_COLLISION_SOURCES} Sim Materials Shadergen Lighting GUI Environment Terrain
${TORQUE_SCENE_SOURCES} ${TORQUE_MATERIALS_SOURCES} "main/main.cpp") RenderInstance PostFX I18N)
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")
target_include_directories(Game PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp") target_include_directories(Game PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")