https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8a63d7e89865ce5c4ef03…
commit 8a63d7e89865ce5c4ef03a4dd133b22564382606
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Sun Dec 1 14:29:04 2024 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Sun Jan 19 09:02:58 2025 +0200
[CMAKE] Build host-tools as release by default
This setting can be overwritten by defining the CMake variable HOST_BUILD_TYPE.
The target build type is passed to the host build as TARGET_BUILD_TYPE CMake
variable.
This improves time to build cab+iso:
MSVC x86: 37s -> 28s
GCC x86: 32s -> 16s
---
sdk/cmake/host-tools.cmake | 6 ++++++
sdk/tools/CMakeLists.txt | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/sdk/cmake/host-tools.cmake b/sdk/cmake/host-tools.cmake
index b7932a82bb8..e2349b8841d 100644
--- a/sdk/cmake/host-tools.cmake
+++ b/sdk/cmake/host-tools.cmake
@@ -91,6 +91,10 @@ function(setup_host_tools)
)
endif()
+ if(NOT DEFINED HOST_BUILD_TYPE)
+ set(HOST_BUILD_TYPE Release)
+ endif()
+
ExternalProject_Add(host-tools
SOURCE_DIR ${REACTOS_SOURCE_DIR}
PREFIX ${REACTOS_BINARY_DIR}/host-tools
@@ -102,6 +106,8 @@ function(setup_host_tools)
-DCMAKE_INSTALL_PREFIX=${REACTOS_BINARY_DIR}/host-tools
-DTOOLS_FOLDER=${REACTOS_BINARY_DIR}/host-tools/bin
-DTARGET_COMPILER_ID=${CMAKE_C_COMPILER_ID}
+ -DTARGET_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ -DCMAKE_BUILD_TYPE=${HOST_BUILD_TYPE}
${CMAKE_HOST_TOOLS_EXTRA_ARGS}
BUILD_ALWAYS TRUE
INSTALL_COMMAND ${CMAKE_COMMAND} -E true
diff --git a/sdk/tools/CMakeLists.txt b/sdk/tools/CMakeLists.txt
index f7f4fd2ccce..0ad7a992d4d 100644
--- a/sdk/tools/CMakeLists.txt
+++ b/sdk/tools/CMakeLists.txt
@@ -48,6 +48,10 @@ if ((ARCH STREQUAL "amd64") AND (TARGET_COMPILER_ID STREQUAL
"GNU"))
add_subdirectory(gcc_plugin_seh)
endif()
+if (TARGET_BUILD_TYPE)
+ # Silence warning about unused variable
+endif()
+
if(NOT MSVC)
add_host_tool(pefixup pefixup.c)
if (ARCH STREQUAL "amd64" OR ARCH STREQUAL "arm64")