diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 9b0fda5409..1272347d3a 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -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") diff --git a/lib/Makefile.am b/lib/Makefile.am index 75fbbdf4b9..32dbb0754e 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -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 diff --git a/tests/client/CMakeLists.txt b/tests/client/CMakeLists.txt index c8cec6f202..4e550bcdd1 100644 --- a/tests/client/CMakeLists.txt +++ b/tests/client/CMakeLists.txt @@ -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}) diff --git a/tests/client/Makefile.am b/tests/client/Makefile.am index 928ec5b943..650415fcdd 100644 --- a/tests/client/Makefile.am +++ b/tests/client/Makefile.am @@ -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 = diff --git a/tests/client/first.h b/tests/client/first.h index 0785bc7460..3c6e5bfc22 100644 --- a/tests/client/first.h +++ b/tests/client/first.h @@ -23,6 +23,8 @@ * SPDX-License-Identifier: curl * ***************************************************************************/ +#define CURL_NO_OLDIES + #include "curl_setup.h" typedef int (*entry_func_t)(int, char **); diff --git a/tests/libtest/CMakeLists.txt b/tests/libtest/CMakeLists.txt index 77b69a0a30..849bd66202 100644 --- a/tests/libtest/CMakeLists.txt +++ b/tests/libtest/CMakeLists.txt @@ -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}) diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am index ef953466ef..2e746a9631 100644 --- a/tests/libtest/Makefile.am +++ b/tests/libtest/Makefile.am @@ -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 = diff --git a/tests/libtest/first.h b/tests/libtest/first.h index 24aefed9c6..a909290024 100644 --- a/tests/libtest/first.h +++ b/tests/libtest/first.h @@ -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 diff --git a/tests/server/CMakeLists.txt b/tests/server/CMakeLists.txt index 887f8c72ec..15a5e975dc 100644 --- a/tests/server/CMakeLists.txt +++ b/tests/server/CMakeLists.txt @@ -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}) diff --git a/tests/server/Makefile.am b/tests/server/Makefile.am index 176bcd558a..0751903a61 100644 --- a/tests/server/Makefile.am +++ b/tests/server/Makefile.am @@ -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 diff --git a/tests/server/first.h b/tests/server/first.h index b7b795c835..44dd272ce2 100644 --- a/tests/server/first.h +++ b/tests/server/first.h @@ -23,6 +23,20 @@ * 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 **); diff --git a/tests/tunit/CMakeLists.txt b/tests/tunit/CMakeLists.txt index e98b75aef1..b12e9c205f 100644 --- a/tests/tunit/CMakeLists.txt +++ b/tests/tunit/CMakeLists.txt @@ -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}) diff --git a/tests/tunit/Makefile.am b/tests/tunit/Makefile.am index 14a5baaece..219b7a1057 100644 --- a/tests/tunit/Makefile.am +++ b/tests/tunit/Makefile.am @@ -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) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index 71bb680e78..eb402257f3 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -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}) diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am index eba0807441..a83809595f 100644 --- a/tests/unit/Makefile.am +++ b/tests/unit/Makefile.am @@ -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