diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt index 9bf7d20ccdb..2a16fc9b802 100644 --- a/Core/CMakeLists.txt +++ b/Core/CMakeLists.txt @@ -13,6 +13,11 @@ target_include_directories(corei_libraries_source_wwvegas INTERFACE "Libraries/S target_include_directories(corei_libraries_source_wwvegas_wwlib INTERFACE "Libraries/Source/WWVegas/WWLib") target_include_directories(corei_main INTERFACE "Main") +target_sources(corei_libraries_include PRIVATE + Libraries/Include/Lib/BaseTypeCore.h + Libraries/Include/rts/debug.h + Libraries/Include/rts/profile.h +) target_link_libraries(corei_always INTERFACE core_utility corei_libraries_include diff --git a/Dependencies/Utility/CMakeLists.txt b/Dependencies/Utility/CMakeLists.txt index 9d728be9a16..a810813bd62 100644 --- a/Dependencies/Utility/CMakeLists.txt +++ b/Dependencies/Utility/CMakeLists.txt @@ -1,8 +1,33 @@ +set(UTILITY_SRC + Utility/compat.h + Utility/CppMacros.h + Utility/endian_compat.h + Utility/fstream_adapter.h + Utility/hash_map_adapter.h + Utility/intrin_compat.h + Utility/iostream_adapter.h + Utility/mem_compat.h + Utility/sstream_adapter.h + Utility/stdint_adapter.h + Utility/stdio_adapter.h + Utility/string_compat.h + Utility/tchar_compat.h + Utility/thread_compat.h + Utility/time_compat.h + Utility/wchar_compat.h +) + +## core_utility + add_library(core_utility INTERFACE) target_include_directories(core_utility INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) target_precompile_headers(core_utility INTERFACE [["Utility/CppMacros.h"]] # Must be first, to be removed when abandoning VC6 ) +target_sources(core_utility PRIVATE ${UTILITY_SRC}) + +## core_utility_no_pch add_library(core_utility_no_pch INTERFACE) target_include_directories(core_utility_no_pch INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) +target_sources(core_utility_no_pch PRIVATE ${UTILITY_SRC}) diff --git a/Generals/Code/CMakeLists.txt b/Generals/Code/CMakeLists.txt index 293ec60d85e..e52d043e441 100644 --- a/Generals/Code/CMakeLists.txt +++ b/Generals/Code/CMakeLists.txt @@ -7,17 +7,23 @@ add_library(gi_always INTERFACE) add_library(gi_always_no_pch INTERFACE) # Use this for Shared Libs with MFC AFX target_include_directories(gi_gameengine_include INTERFACE "GameEngine/Include") -target_link_libraries(gi_gameengine_include INTERFACE corei_gameengine_include) target_include_directories(gi_libraries_include INTERFACE "Libraries/Include") target_include_directories(gi_libraries_source_wwvegas INTERFACE "Libraries/Source/WWVegas") target_include_directories(gi_main INTERFACE "Main") +target_sources(gi_libraries_include PRIVATE + Libraries/Include/Lib/BaseType.h + Libraries/Include/Lib/trig.h +) target_compile_definitions(gi_always INTERFACE RTS_GENERALS=1 ) target_compile_definitions(gi_always_no_pch INTERFACE RTS_GENERALS=1 ) +target_link_libraries(gi_gameengine_include INTERFACE + corei_gameengine_include +) target_link_libraries(gi_always INTERFACE gi_libraries_include corei_always # Must stay below so headers from game are included first diff --git a/GeneralsMD/Code/CMakeLists.txt b/GeneralsMD/Code/CMakeLists.txt index 0c4c21f934e..d173801dc98 100644 --- a/GeneralsMD/Code/CMakeLists.txt +++ b/GeneralsMD/Code/CMakeLists.txt @@ -7,17 +7,23 @@ add_library(zi_always INTERFACE) add_library(zi_always_no_pch INTERFACE) # Use this for Shared Libs with MFC AFX target_include_directories(zi_gameengine_include INTERFACE "GameEngine/Include") -target_link_libraries(zi_gameengine_include INTERFACE corei_gameengine_include) target_include_directories(zi_libraries_include INTERFACE "Libraries/Include") target_include_directories(zi_libraries_source_wwvegas INTERFACE "Libraries/Source/WWVegas") target_include_directories(zi_main INTERFACE "Main") +target_sources(zi_libraries_include PRIVATE + Libraries/Include/Lib/BaseType.h + Libraries/Include/Lib/trig.h +) target_compile_definitions(zi_always INTERFACE RTS_ZEROHOUR=1 ) target_compile_definitions(zi_always_no_pch INTERFACE RTS_ZEROHOUR=1 ) +target_link_libraries(zi_gameengine_include INTERFACE + corei_gameengine_include +) target_link_libraries(zi_always INTERFACE zi_libraries_include corei_always # Must stay below so headers from game are included first