]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
build: tidy up compiler definition for tests
authorViktor Szakats <commit@vsz.me>
Fri, 27 Jun 2025 22:01:49 +0000 (00:01 +0200)
committerViktor Szakats <commit@vsz.me>
Mon, 28 Jul 2025 10:43:01 +0000 (12:43 +0200)
- tests: merge cmake commands.
- tests: use `target_compile_definitions()`.
- tests/server: use generator expression for platform-specific macro.
- tests/unit: sync `Makefile.am` comment with cmake.
- tests/unit: merge two `AM_CPPFLAGS` lines to keep synced with cmake.
- tests: move macro definitions to `first.h` headers from build level.
  `CURL_NO_OLDIES`, `CURL_DISABLE_DEPRECATION`, `WITHOUT_LIBCURL`,
  `CURL_STATICLIB` (for servers).
  To share more logic.
  Pass `CURL_STATICLIB` in server on all platforms for simplicity.
  (On non-Windows, it's a no-op. It's already done like this with curlu
  and libcurltool.)

Also for lib:
- lib: merge commands.
- lib: sync macro order with tests (also in `Makefile.am`).

Closes #17768

15 files changed:
lib/CMakeLists.txt
lib/Makefile.am
tests/client/CMakeLists.txt
tests/client/Makefile.am
tests/client/first.h
tests/libtest/CMakeLists.txt
tests/libtest/Makefile.am
tests/libtest/first.h
tests/server/CMakeLists.txt
tests/server/Makefile.am
tests/server/first.h
tests/tunit/CMakeLists.txt
tests/tunit/Makefile.am
tests/unit/CMakeLists.txt
tests/unit/Makefile.am

index 9b0fda54092f3c9a8ac5790211b358ce63df1778..1272347d3a8ad418d20406056cdd5988c4e038ee 100644 (file)
@@ -24,8 +24,7 @@
 
 set(LIBCURL_OUTPUT_NAME "${LIB_NAME}" CACHE STRING "Basename of the curl library")
 
-set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS "BUILDING_LIBCURL")
-set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS "${CURL_DEBUG_MACROS}")
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${CURL_DEBUG_MACROS} "BUILDING_LIBCURL")
 
 configure_file("curl_config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/curl_config.h")
 
index 75fbbdf4b93d3d357a8839d1d2567c9286339ec2..32dbb0754ee9af2190bef2262c92fff8822aa905 100644 (file)
@@ -66,7 +66,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/include   \
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
-AM_CPPFLAGS += -DBUILDING_LIBCURL
 AM_LDFLAGS =
 AM_CFLAGS =
 if DEBUGBUILD
@@ -75,6 +74,7 @@ endif
 if CURLDEBUG
 AM_CPPFLAGS += -DCURLDEBUG
 endif
+AM_CPPFLAGS += -DBUILDING_LIBCURL
 
 if DOING_NATIVE_WINDOWS
 CSOURCES += dllmain.c
index c8cec6f2029b6e264a5d09fb134b6bbf3f68b11a..4e550bcdd180c2eafa69c5afae1f46eba7ed83c2 100644 (file)
@@ -46,7 +46,6 @@ target_include_directories(${BUNDLE} PRIVATE
   "${PROJECT_SOURCE_DIR}/lib"            # for "curl_setup.h", curlx
   "${CMAKE_CURRENT_SOURCE_DIR}"          # for the generated bundle source to find included test sources
 )
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_NO_OLDIES")
 set_target_properties(${BUNDLE} PROPERTIES OUTPUT_NAME "${BUNDLE}" PROJECT_LABEL "Test ${BUNDLE}" UNITY_BUILD OFF C_CLANG_TIDY "")
 
 curl_add_clang_tidy_test_target("${BUNDLE}-clang-tidy" ${BUNDLE} ${FIRST_C} ${TESTS_C})
index 928ec5b943576f3ae874fa751aef22b2a32a4a4b..650415fcdd8dbd5a3bd6dc0382ec399825005294 100644 (file)
@@ -51,7 +51,6 @@ LIBS = $(BLANK_AT_MAKETIME)
 if USE_CPPFLAG_CURL_STATICLIB
 AM_CPPFLAGS += -DCURL_STATICLIB
 endif
-AM_CPPFLAGS += -DCURL_NO_OLDIES
 
 if USE_CPPFLAG_CURL_STATICLIB
 curlx_c_lib =
index 0785bc74606ea69257226241f9c6121c660cb664..3c6e5bfc222ee5d2ed13bb3a33d8ff8791976597 100644 (file)
@@ -23,6 +23,8 @@
  * SPDX-License-Identifier: curl
  *
  ***************************************************************************/
+#define CURL_NO_OLDIES
+
 #include "curl_setup.h"
 
 typedef int (*entry_func_t)(int, char **);
index 77b69a0a3038042668d95f569fccc6e783b2d364..849bd662025457b6bb1e0428f96ea8de45accd96 100644 (file)
@@ -55,8 +55,7 @@ target_include_directories(${BUNDLE} PRIVATE
   "${PROJECT_SOURCE_DIR}/lib"            # for "curl_setup.h", curlx
   "${CMAKE_CURRENT_SOURCE_DIR}"          # for the generated bundle source to find included test sources
 )
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "${CURL_DEBUG_MACROS}")
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_NO_OLDIES" "CURL_DISABLE_DEPRECATION")
+target_compile_definitions(${BUNDLE} PRIVATE ${CURL_DEBUG_MACROS})
 set_target_properties(${BUNDLE} PROPERTIES OUTPUT_NAME "${BUNDLE}" PROJECT_LABEL "Test ${BUNDLE}" UNITY_BUILD OFF C_CLANG_TIDY "")
 
 curl_add_clang_tidy_test_target("${BUNDLE}-clang-tidy" ${BUNDLE} ${FIRST_C} ${UTILS_C} ${TESTS_C})
index ef953466efe06ee94ea90f5b407add34fbd6e71a..2e746a9631f72a447e6b77c7a893d1b88ebac696 100644 (file)
@@ -58,7 +58,6 @@ endif
 if CURLDEBUG
 AM_CPPFLAGS += -DCURLDEBUG
 endif
-AM_CPPFLAGS += -DCURL_NO_OLDIES -DCURL_DISABLE_DEPRECATION
 
 if USE_CPPFLAG_CURL_STATICLIB
 curlx_c_lib =
index 24aefed9c627799df159165958af4a40fc8752c9..a909290024a64c103e92c20b2703bfdd2d4bc28d 100644 (file)
@@ -23,6 +23,9 @@
  * SPDX-License-Identifier: curl
  *
  ***************************************************************************/
+#define CURL_NO_OLDIES
+#define CURL_DISABLE_DEPRECATION
+
 /* Now include the curl_setup.h file from libcurl's private libdir (the source
    version, but that might include "curl_config.h" from the build dir so we
    need both of them in the include path), so that we get good in-depth
index 887f8c72ec2a5bd22b2dca49e0a38dcd533c6995..15a5e975dc3d170974af308a497c1aef52cf9b76 100644 (file)
@@ -42,17 +42,6 @@ target_include_directories(${BUNDLE} PRIVATE
   "${PROJECT_SOURCE_DIR}/lib"            # for "curl_setup.h", curlx
   "${CMAKE_CURRENT_SOURCE_DIR}"          # for the generated bundle source to find included test sources
 )
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "WITHOUT_LIBCURL")
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_NO_OLDIES")
-# Test servers simply are standalone programs that do not use libcurl
-# library.  For convenience and to ease portability of these servers,
-# some source code files from the libcurl subdirectory are also used
-# to build the servers.  In order to achieve proper linkage of these
-# files on Windows targets it is necessary to build the test servers
-# with CURL_STATICLIB defined, independently of how libcurl is built.
-if(WIN32)
-  set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_STATICLIB")
-endif()
 set_target_properties(${BUNDLE} PROPERTIES OUTPUT_NAME "${BUNDLE}" PROJECT_LABEL "Test ${BUNDLE}" UNITY_BUILD OFF C_CLANG_TIDY "")
 
 curl_add_clang_tidy_test_target("${BUNDLE}-clang-tidy" ${BUNDLE} ${FIRST_C} ${UTILS_C} ${TESTS_C})
index 176bcd558a83a7fcad4a6d48f87dfec678176db3..0751903a61d122f9e9729301f44c024bc80a399a 100644 (file)
@@ -48,12 +48,6 @@ CFLAGS += @CURL_CFLAG_EXTRAS@
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
-AM_CPPFLAGS += -DWITHOUT_LIBCURL
-AM_CPPFLAGS += -DCURL_NO_OLDIES
-if DOING_NATIVE_WINDOWS
-AM_CPPFLAGS += -DCURL_STATICLIB
-endif
-
 $(BUNDLE).c: $(top_srcdir)/scripts/mk-unity.pl Makefile.inc $(FIRST_C) $(UTILS_C) $(CURLX_C) $(TESTS_C)
        @PERL@ $(top_srcdir)/scripts/mk-unity.pl --include $(UTILS_C) $(CURLX_C) --test $(TESTS_C) > $(BUNDLE).c
 
index b7b795c835c6fbdcf0562fe7545420acde286fa3..44dd272ce2b35f49aa73c5d14ed8d095e3be7233 100644 (file)
  * SPDX-License-Identifier: curl
  *
  ***************************************************************************/
+
+/* Test servers simply are standalone programs that do not use libcurl
+ * library.  For convenience and to ease portability of these servers,
+ * some source code files from the libcurl subdirectory are also used
+ * to build the servers.  In order to achieve proper linkage of these
+ * files on Windows targets it is necessary to build the test servers
+ * with CURL_STATICLIB defined, independently of how libcurl is built.
+ * For other platforms, this macro is a no-op and safe to set.
+ */
+#define CURL_STATICLIB
+
+#define WITHOUT_LIBCURL
+#define CURL_NO_OLDIES
+
 #include "curl_setup.h"
 
 typedef int (*entry_func_t)(int, char **);
index e98b75aef1ca52e3ce1484b5311ec9c77e1114cd..b12e9c205f3c556ae341a5e9ce22db8c77edda94 100644 (file)
@@ -44,8 +44,7 @@ target_include_directories(${BUNDLE} PRIVATE
   "${PROJECT_SOURCE_DIR}/tests/libtest"  # for "first.h", "unitcheck.h"
   "${CMAKE_CURRENT_SOURCE_DIR}"          # for the generated bundle source to find included test sources
 )
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "${CURL_DEBUG_MACROS}")
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_NO_OLDIES" "CURL_DISABLE_DEPRECATION")
+target_compile_definitions(${BUNDLE} PRIVATE ${CURL_DEBUG_MACROS})
 set_target_properties(${BUNDLE} PROPERTIES OUTPUT_NAME "${BUNDLE}" PROJECT_LABEL "Test ${BUNDLE}" UNITY_BUILD OFF C_CLANG_TIDY "")
 
 curl_add_clang_tidy_test_target("${BUNDLE}-clang-tidy" ${BUNDLE} ${FIRST_C} ${TESTS_C})
index 14a5baaece6b69f534b3801b9d5a789ac674e66b..219b7a10579c67e173a0856680c453a34eb45699 100644 (file)
@@ -57,7 +57,6 @@ endif
 if CURLDEBUG
 AM_CPPFLAGS += -DCURLDEBUG
 endif
-AM_CPPFLAGS += -DCURL_NO_OLDIES -DCURL_DISABLE_DEPRECATION
 
 if BUILD_UNITTESTS
 $(BUNDLE).c: $(top_srcdir)/scripts/mk-unity.pl Makefile.inc $(FIRST_C) $(TESTS_C)
index 71bb680e78fa99b377fddd258eb14d2c7b1f5c28..eb402257f3679f9ffb6061d1968426471677fabc 100644 (file)
@@ -44,10 +44,8 @@ target_include_directories(${BUNDLE} PRIVATE
   "${PROJECT_SOURCE_DIR}/tests/libtest"  # for "first.h", "unitcheck.h"
   "${CMAKE_CURRENT_SOURCE_DIR}"          # for the generated bundle source to find included test sources
 )
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "${CURL_DEBUG_MACROS}")
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_NO_OLDIES" "CURL_DISABLE_DEPRECATION")
-# unit tests are small pretend-libcurl-programs
-set_property(TARGET ${BUNDLE} APPEND PROPERTY COMPILE_DEFINITIONS "BUILDING_LIBCURL")
+# unit tests are small pretend-libcurl-programs, pass BUILDING_LIBCURL to reflect that
+target_compile_definitions(${BUNDLE} PRIVATE ${CURL_DEBUG_MACROS} "BUILDING_LIBCURL")
 set_target_properties(${BUNDLE} PROPERTIES OUTPUT_NAME "${BUNDLE}" PROJECT_LABEL "Test ${BUNDLE}" UNITY_BUILD OFF C_CLANG_TIDY "")
 
 curl_add_clang_tidy_test_target("${BUNDLE}-clang-tidy" ${BUNDLE} ${FIRST_C} ${TESTS_C})
index eba0807441c05cebaf9dfc5331ac829e941be612..a83809595fa33c93131c8a87e5ad7439872d6cbc 100644 (file)
@@ -56,7 +56,7 @@ endif
 if CURLDEBUG
 AM_CPPFLAGS += -DCURLDEBUG
 endif
-AM_CPPFLAGS += -DCURL_NO_OLDIES -DCURL_DISABLE_DEPRECATION
+# unit tests are small pretend-libcurl-programs, pass BUILDING_LIBCURL to reflect that
 AM_CPPFLAGS += -DBUILDING_LIBCURL
 
 if BUILD_UNITTESTS