From 07d484597d5363cb54d884a99b2f3706e9152a1f Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Mon, 30 Jun 2025 13:09:23 -0500 Subject: [PATCH] [Build] More Build Speed Improvements (#4959) --- CMakeLists.txt | 2 ++ common/CMakeLists.txt | 2 +- common/pch/std-pch.h | 34 ++++++------------------------ utils/scripts/build/linux-build.sh | 6 +++--- zone/CMakeLists.txt | 1 + 5 files changed, 14 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e53a05bef..59279caa8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -363,6 +363,8 @@ MESSAGE(STATUS "**************************************************") #setup server libs and headers SET(SERVER_LIBS common ${DATABASE_LIBRARY_LIBS} ${ZLIB_LIBRARY_LIBS} ${Boost_LIBRARIES} uv_a fmt RecastNavigation::Detour) +set(FMT_HEADER_ONLY OFF) + INCLUDE_DIRECTORIES(SYSTEM "${DATABASE_LIBRARY_INCLUDE}") INCLUDE_DIRECTORIES(SYSTEM "${ZLIB_LIBRARY_INCLUDE}") INCLUDE_DIRECTORIES(SYSTEM "${Boost_INCLUDE_DIRS}") diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 787cd299c..0921cec5f 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -841,7 +841,7 @@ IF (UNIX) SET_SOURCE_FILES_PROPERTIES("patches/sod.cpp" "patches/sof.cpp" "patches/rof.cpp" "patches/rof2.cpp" "patches/uf.cpp" PROPERTIES COMPILE_FLAGS -O0) ENDIF (UNIX) -IF (WIN32 AND EQEMU_BUILD_PCH) +IF (EQEMU_BUILD_PCH) TARGET_PRECOMPILE_HEADERS(common PRIVATE pch/std-pch.h) ENDIF () diff --git a/common/pch/std-pch.h b/common/pch/std-pch.h index 06b1d1a8f..3b1b9faad 100644 --- a/common/pch/std-pch.h +++ b/common/pch/std-pch.h @@ -1,34 +1,14 @@ -// types -#include -#include -#include -#include +#pragma once -// containers -#include -#include -#include +// Lightweight, widely used +#include +#include #include #include -#include -#include - -// utilities -#include -#include -#include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include // fmt #include - -// lua -#include "lua.hpp" -#include -#include diff --git a/utils/scripts/build/linux-build.sh b/utils/scripts/build/linux-build.sh index 414ebda6d..767d06046 100755 --- a/utils/scripts/build/linux-build.sh +++ b/utils/scripts/build/linux-build.sh @@ -14,15 +14,15 @@ perl utils/scripts/build/tag-version.pl mkdir -p build && cd build && \ cmake -DEQEMU_BUILD_TESTS=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DEQEMU_BUILD_STATIC=ON \ -DEQEMU_BUILD_LOGIN=ON \ -DEQEMU_BUILD_LUA=ON \ -DEQEMU_BUILD_PERL=ON \ - -DCMAKE_CXX_FLAGS:STRING="-O1 -g -Wno-everything" \ - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-O1 -g -Wno-everything" \ + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-g -Wno-everything" \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -G 'Unix Makefiles' \ - .. && make -j$((`nproc`-12)) + .. && make -j$((`nproc`-2)) curl https://raw.githubusercontent.com/Akkadius/eqemu-install-v2/master/eqemu_config.json --output eqemu_config.json ./bin/tests diff --git a/zone/CMakeLists.txt b/zone/CMakeLists.txt index 07ac97cdc..e497b5ed5 100644 --- a/zone/CMakeLists.txt +++ b/zone/CMakeLists.txt @@ -483,6 +483,7 @@ INSTALL(TARGETS zone RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) # precompiled headers IF (EQEMU_BUILD_PCH) TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/app-pch.h) + TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/std-pch.h) TARGET_PRECOMPILE_HEADERS(zone PRIVATE ./pch/pch.h) ENDIF()