Build: added support for unity builds in most projects except for StormLib, ZLib and Scripts

This commit is contained in:
Ovahlord committed 2023-10-09 21:40:38 +02:00
1 parent 8acfadc779
commit b49f95e1e9
28 files changed
+219 -6

No files matched your search

+1 -1
View File
@@ -51,4 +51,4 @@ set(WITH_SOURCE_TREE "hierarchical" CACHE STRING "Build the source tree for I
set_property(CACHE WITH_SOURCE_TREE PROPERTY STRINGS no flat hierarchical hierarchical-folders) set_property(CACHE WITH_SOURCE_TREE PROPERTY STRINGS no flat hierarchical hierarchical-folders)
option(WITHOUT_GIT "Disable the GIT testing routines" 0) option(WITHOUT_GIT "Disable the GIT testing routines" 0)
option(BUILD_TESTING "Build test suite" 0) option(BUILD_TESTING "Build test suite" 0)
option(UNITY_BUILDS "Enables the unity build mode which combines multiple source files into buckets to speed up build time" 0)
+6
View File
@@ -38,6 +38,12 @@ else()
message("* Build unit tests : No (default)") message("* Build unit tests : No (default)")
endif() endif()
if(UNITY_BUILDS)
message("* Unity build enabled : Yes")
else()
message("* Unity build enabled : No (default)")
endif()
if(USE_COREPCH) if(USE_COREPCH)
message("* Build core w/PCH : Yes (default)") message("* Build core w/PCH : Yes (default)")
else() else()
+9
View File
@@ -55,3 +55,12 @@ else()
set_target_properties(minhook PROPERTIES POSTFIX "") set_target_properties(minhook PROPERTIES POSTFIX "")
set_target_properties(minhook PROPERTIES DEBUG_POSTFIX "d") set_target_properties(minhook PROPERTIES DEBUG_POSTFIX "d")
endif() endif()
if(UNITY_BUILDS)
set_target_properties(minhook
PROPERTIES UNITY_BUILD ON)
set_target_properties(minhook
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 2)
endif()
+9
View File
@@ -41,3 +41,12 @@ else()
FOLDER FOLDER
"dep") "dep")
endif() endif()
if(UNITY_BUILDS)
set_target_properties(bzip2
PROPERTIES UNITY_BUILD ON)
set_target_properties(bzip2
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
+9
View File
@@ -88,3 +88,12 @@ if (BUILD_SHARED_LIBS)
else () else ()
add_library(efsw INTERFACE IMPORTED GLOBAL) add_library(efsw INTERFACE IMPORTED GLOBAL)
endif () endif ()
if(UNITY_BUILDS)
set_target_properties(efsw
PROPERTIES UNITY_BUILD ON)
set_target_properties(efsw
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
+9
View File
@@ -61,3 +61,12 @@ set_target_properties(fmt
PROPERTIES PROPERTIES
FOLDER FOLDER
"dep") "dep")
if(UNITY_BUILDS)
set_target_properties(fmt
PROPERTIES UNITY_BUILD ON)
set_target_properties(fmt
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
+9
View File
@@ -71,3 +71,12 @@ set_target_properties(g3dlib
PROPERTIES PROPERTIES
FOLDER FOLDER
"dep") "dep")
if(UNITY_BUILDS)
set_target_properties(g3dlib
PROPERTIES UNITY_BUILD ON)
set_target_properties(g3dlib
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
+9
View File
@@ -27,6 +27,15 @@ set_target_properties(gsoap
FOLDER FOLDER
"dep") "dep")
if(UNITY_BUILDS)
set_target_properties(gsoap
PROPERTIES UNITY_BUILD ON)
set_target_properties(gsoap
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 7)
endif()
if (MSVC) if (MSVC)
# Little fix for MSVC / Windows platforms # Little fix for MSVC / Windows platforms
target_compile_definitions(gsoap target_compile_definitions(gsoap
+9
View File
@@ -117,3 +117,12 @@ else()
valgrind) valgrind)
endif() endif()
if(UNITY_BUILDS)
set_target_properties(jemalloc
PROPERTIES UNITY_BUILD ON)
set_target_properties(jemalloc
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
+9
View File
@@ -217,3 +217,12 @@ target_compile_definitions(libzmq
-DZMQ_STATIC -DZMQ_STATIC
${ZMQ_PLATFORM} ${ZMQ_PLATFORM}
${ADDITIONAL_DEFINES}) ${ADDITIONAL_DEFINES})
if(UNITY_BUILDS)
set_target_properties(libzmq
PROPERTIES UNITY_BUILD ON)
set_target_properties(libzmq
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 2)
endif()
@@ -34,3 +34,12 @@ set_target_properties(Detour
PROPERTIES PROPERTIES
FOLDER FOLDER
"dep") "dep")
if(UNITY_BUILDS)
set_target_properties(Detour
PROPERTIES UNITY_BUILD ON)
set_target_properties(Detour
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 7)
endif()
@@ -38,3 +38,12 @@ set_target_properties(Recast
PROPERTIES PROPERTIES
FOLDER FOLDER
"dep") "dep")
if(UNITY_BUILDS)
set_target_properties(Recast
PROPERTIES UNITY_BUILD ON)
set_target_properties(Recast
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 2)
endif()
+9
View File
@@ -33,3 +33,12 @@ target_compile_definitions(zmqpp
-DBUILD_VERSION_MINOR=2 -DBUILD_VERSION_MINOR=2
-DBUILD_VERSION_REVISION=0 -DBUILD_VERSION_REVISION=0
-DBUILD_VERSION="3.2.0") -DBUILD_VERSION="3.2.0")
if(UNITY_BUILDS)
set_target_properties(zmqpp
PROPERTIES UNITY_BUILD ON)
set_target_properties(zmqpp
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 6)
endif()
+9
View File
@@ -80,6 +80,15 @@ set_target_properties(common
FOLDER FOLDER
"server") "server")
if(UNITY_BUILDS)
set_target_properties(common
PROPERTIES UNITY_BUILD ON)
set_target_properties(common
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 4)
endif()
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)
if(UNIX) if(UNIX)
install(TARGETS common install(TARGETS common
+9
View File
@@ -70,6 +70,15 @@ set_target_properties(bnetserver
FOLDER FOLDER
"server") "server")
if(UNITY_BUILDS)
set_target_properties(bnetserver
PROPERTIES UNITY_BUILD ON)
set_target_properties(bnetserver
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
if (WIN32) if (WIN32)
if ("${CMAKE_MAKE_PROGRAM}" MATCHES "MSBuild") if ("${CMAKE_MAKE_PROGRAM}" MATCHES "MSBuild")
add_custom_command(TARGET bnetserver add_custom_command(TARGET bnetserver
+9
View File
@@ -75,3 +75,12 @@ endif()
if(USE_COREPCH) if(USE_COREPCH)
add_cxx_pch(database ${PRIVATE_PCH_HEADER}) add_cxx_pch(database ${PRIVATE_PCH_HEADER})
endif() endif()
if(UNITY_BUILDS)
set_target_properties(database
PROPERTIES UNITY_BUILD ON)
set_target_properties(database
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
@@ -33,7 +33,7 @@ EndScriptData */
float const MAX_PLAYER_DISTANCE = 100.0f; float const MAX_PLAYER_DISTANCE = 100.0f;
enum Points enum ScriptedFollowerPoints
{ {
POINT_COMBAT_START = 0xFFFFFF POINT_COMBAT_START = 0xFFFFFF
}; };
+9
View File
@@ -61,6 +61,15 @@ set_target_properties(game
FOLDER FOLDER
"server") "server")
if(UNITY_BUILDS)
set_target_properties(game
PROPERTIES UNITY_BUILD ON)
set_target_properties(game
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)
if(UNIX) if(UNIX)
install(TARGETS game install(TARGETS game
+2 -2
View File
@@ -111,7 +111,7 @@ void WardenMac::RequestHash()
_session->SendPacket(&pkt); _session->SendPacket(&pkt);
} }
struct keyData { struct keyDataMac {
union union
{ {
struct struct
@@ -132,7 +132,7 @@ void WardenMac::HandleHashResult(ByteBuffer &buff)
// test // test
int keyIn[4]; int keyIn[4];
keyData mod_seed = { { { { 0x4D, 0x80, 0x8D, 0x2C, 0x77, 0xD9, 0x05, 0xC4, 0x1A, 0x63, 0x80, 0xEC, 0x08, 0x58, 0x6A, 0xFE } } } }; keyDataMac mod_seed = { { { { 0x4D, 0x80, 0x8D, 0x2C, 0x77, 0xD9, 0x05, 0xC4, 0x1A, 0x63, 0x80, 0xEC, 0x08, 0x58, 0x6A, 0xFE } } } };
for (int i = 0; i < 4; ++i) for (int i = 0; i < 4; ++i)
{ {
+9
View File
@@ -55,6 +55,15 @@ set_target_properties(shared
FOLDER FOLDER
"server") "server")
if(UNITY_BUILDS)
set_target_properties(shared
PROPERTIES UNITY_BUILD ON)
set_target_properties(shared
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)
if(UNIX) if(UNIX)
install(TARGETS shared install(TARGETS shared
@@ -50,7 +50,7 @@ DBCDatabaseLoader::DBCDatabaseLoader(std::string const& storageName, std::string
} }
} }
static char const* nullStr = ""; static char const* dbcNullStr = "";
char* DBCDatabaseLoader::Load(uint32& records, char**& indexTable) char* DBCDatabaseLoader::Load(uint32& records, char**& indexTable)
{ {
@@ -130,7 +130,7 @@ char* DBCDatabaseLoader::Load(uint32& records, char**& indexTable)
offset += 1; offset += 1;
break; break;
case FT_STRING: case FT_STRING:
*reinterpret_cast<char**>(&dataValue[offset]) = const_cast<char*>(nullStr); *reinterpret_cast<char**>(&dataValue[offset]) = const_cast<char*>(dbcNullStr);
offset += sizeof(char*); offset += sizeof(char*);
break; break;
} }
+9
View File
@@ -73,6 +73,15 @@ set_target_properties(worldserver
FOLDER FOLDER
"server") "server")
if(UNITY_BUILDS)
set_target_properties(worldserver
PROPERTIES UNITY_BUILD ON)
set_target_properties(worldserver
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 4)
endif()
# Add all dynamic projects as dependency to the worldserver # Add all dynamic projects as dependency to the worldserver
if(WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES) if(WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES)
add_dependencies(worldserver ${WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES}) add_dependencies(worldserver ${WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES})
+9
View File
@@ -29,4 +29,13 @@ target_link_libraries(${target_name}
common common
) )
if(UNITY_BUILDS)
set_target_properties(${target_name}
PROPERTIES UNITY_BUILD ON)
set_target_properties(${target_name}
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
install(TARGETS ${target_name} DESTINATION "${CMAKE_INSTALL_PREFIX}") install(TARGETS ${target_name} DESTINATION "${CMAKE_INSTALL_PREFIX}")
+9
View File
@@ -28,4 +28,13 @@ target_link_libraries(${target_name}
minhook minhook
) )
if(UNITY_BUILDS)
set_target_properties(${target_name}
PROPERTIES UNITY_BUILD ON)
set_target_properties(${target_name}
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 4)
endif()
install(TARGETS ${target_name} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}") install(TARGETS ${target_name} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}")
@@ -25,6 +25,15 @@ target_link_libraries(connection_patcher
common common
) )
if(UNITY_BUILDS)
set_target_properties(connection_patcher
PROPERTIES UNITY_BUILD ON)
set_target_properties(connection_patcher
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 2)
endif()
if (UNIX) if (UNIX)
install(TARGETS connection_patcher DESTINATION bin) install(TARGETS connection_patcher DESTINATION bin)
elseif (WIN32) elseif (WIN32)
+9
View File
@@ -44,6 +44,15 @@ set_target_properties(mapextractor
FOLDER FOLDER
"tools") "tools")
if(UNITY_BUILDS)
set_target_properties(mapextractor
PROPERTIES UNITY_BUILD ON)
set_target_properties(mapextractor
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 6)
endif()
if(UNIX) if(UNIX)
install(TARGETS mapextractor DESTINATION bin) install(TARGETS mapextractor DESTINATION bin)
elseif(WIN32) elseif(WIN32)
+9
View File
@@ -42,6 +42,15 @@ set_target_properties(mmaps_generator
FOLDER FOLDER
"tools") "tools")
if(UNITY_BUILDS)
set_target_properties(mmaps_generator
PROPERTIES UNITY_BUILD ON)
set_target_properties(mmaps_generator
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 4)
endif()
if(UNIX) if(UNIX)
install(TARGETS mmaps_generator DESTINATION bin) install(TARGETS mmaps_generator DESTINATION bin)
elseif(WIN32) elseif(WIN32)
+9
View File
@@ -41,6 +41,15 @@ set_target_properties(vmap4extractor
FOLDER FOLDER
"tools") "tools")
if(UNITY_BUILDS)
set_target_properties(vmap4extractor
PROPERTIES UNITY_BUILD ON)
set_target_properties(vmap4extractor
PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_BATCH_SIZE 8)
endif()
if(UNIX) if(UNIX)
install(TARGETS vmap4extractor DESTINATION bin) install(TARGETS vmap4extractor DESTINATION bin)
elseif(WIN32) elseif(WIN32)