From 786dac741912e4b516d8318e2600102cf0b6ce16 Mon Sep 17 00:00:00 2001 From: Robert MacGregor Date: Tue, 17 May 2022 13:14:00 -0400 Subject: [PATCH] * Feature: Obtain a building executable on MacOS, but need to resolve the crashing issues and multi-configuration settings. --- Engine/lib/CMakeLists.txt | 1 + Engine/lib/pcre/CMakeLists.txt | 2 +- Engine/source/CMakeLists.txt | 329 +++++++++++++++++++++++---------- 3 files changed, 229 insertions(+), 103 deletions(-) diff --git a/Engine/lib/CMakeLists.txt b/Engine/lib/CMakeLists.txt index 9383148d0..b4a348917 100644 --- a/Engine/lib/CMakeLists.txt +++ b/Engine/lib/CMakeLists.txt @@ -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) diff --git a/Engine/lib/pcre/CMakeLists.txt b/Engine/lib/pcre/CMakeLists.txt index 03eeb653d..1935c3314 100644 --- a/Engine/lib/pcre/CMakeLists.txt +++ b/Engine/lib/pcre/CMakeLists.txt @@ -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) diff --git a/Engine/source/CMakeLists.txt b/Engine/source/CMakeLists.txt index 8ff8599fc..6cb07932e 100644 --- a/Engine/source/CMakeLists.txt +++ b/Engine/source/CMakeLists.txt @@ -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")