]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: unity mode optimization for non-`CURLDEBUG` `testdeps` targets
authorViktor Szakats <commit@vsz.me>
Thu, 13 Mar 2025 00:20:52 +0000 (01:20 +0100)
committerViktor Szakats <commit@vsz.me>
Thu, 13 Mar 2025 10:36:53 +0000 (11:36 +0100)
Include more sources in unity mode to optimize libtest and tests/server
builds for non-debug-enabled builds, syncing this pattern with `lib` and
`src`.

It reduces build steps from 62 to 47 (-14, -24%) with test bundles.
Without test bundles, from 680 to 642 (-38, -6%).

Follow-up to de0693f24943cd65f26a7b421a4304cbadb875a0 #16274
Follow-up to 3efba94f773db5d8ae19e33aa749ab7914cafeea #14765
Cherry-picked from #15000
Closes #16695

tests/libtest/CMakeLists.txt
tests/server/CMakeLists.txt

index f5f6a0d10cf189c5ea8d8df00743f10bd11223c1..60b1bd42f4eeec9d86f69cccbc20e4e3e17eecdb 100644 (file)
@@ -27,7 +27,9 @@
 curl_transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
 include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
 
-set_source_files_properties("../../lib/curl_multibyte.c" PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
+if(ENABLE_CURLDEBUG)
+  set_source_files_properties("../../lib/curl_multibyte.c" PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
+endif()
 
 add_custom_command(
   OUTPUT "lib1521.c"
index 3b18bba4c3563673e910b811570839daf7c20ca5..b7bd88151e945472cfc19830d9ef86bb8d7e64bd 100644 (file)
@@ -26,7 +26,9 @@
 curl_transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
 include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
 
-set_source_files_properties("../../lib/memdebug.c" "../../lib/curl_multibyte.c" PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
+if(ENABLE_CURLDEBUG)
+  set_source_files_properties("../../lib/memdebug.c" "../../lib/curl_multibyte.c" PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
+endif()
 
 foreach(_target IN LISTS noinst_PROGRAMS)
   set(_target_name "${_target}")