From: Viktor Szakats Date: Tue, 6 Aug 2024 09:45:39 +0000 (+0200) Subject: cmake: cleanup header paths X-Git-Tag: curl-8_10_0~357 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6fb9895b68b7a600e32ff11898e411091ec6ee3;p=thirdparty%2Fcurl.git cmake: cleanup header paths - sync build-dir/source-dir header path order with autotools, by including build-dir first, then source-dir. This prevents out-of-tree builds breaking due to leftover generated headers in the source tree. - tests/unit: move `src` ahead of `libtest` in header path, syncing with autotools. - stop adding non-existing generated `include` dir to header path. There are no generated `include` headers and this directory is either missing in out-of-tree builds or the same as the one already added globally via the root `CMakeLists.txt`. - lib: stop adding a duplicate source include directory to the header path. It's already added globally via the root `CMakeLists.txt`. - lib: stop adding the project root to the header path. - docs/examples: drop internal header paths. Examples do not and should not use internal headers. - replace `curl_setup_once.h` in comments with `curl_setup.h`, the header actually used, and also referred to in autotools comments. - add comment why we need `src` in include path for `tests/server`. - add quotes around header directories. Closes #14416 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 181db0bd3b..7242d687fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,7 @@ else() set(OS "\"${CMAKE_SYSTEM_NAME}\"") endif() -include_directories(${CURL_SOURCE_DIR}/include) +include_directories("${CURL_SOURCE_DIR}/include") set(CMAKE_UNITY_BUILD_BATCH_SIZE 0) diff --git a/docs/examples/CMakeLists.txt b/docs/examples/CMakeLists.txt index b6166dea1e..2743667c7e 100644 --- a/docs/examples/CMakeLists.txt +++ b/docs/examples/CMakeLists.txt @@ -30,11 +30,6 @@ include(${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake) foreach(_example IN LISTS check_PROGRAMS) set(_example_target "curl-example-${_example}") add_executable(${_example_target} "${_example}.c") - target_include_directories(${_example_target} PRIVATE - "${CURL_SOURCE_DIR}/lib" # for "curl_setup_once.h" - "${CURL_BINARY_DIR}/lib" # for "curl_config.h" - "${CURL_BINARY_DIR}/include" # for "curl/curl.h" - ) target_link_libraries(${_example_target} ${LIB_SELECTED} ${CURL_LIBS}) target_compile_definitions(${_example_target} PRIVATE "CURL_NO_OLDIES") if(LIB_SELECTED STREQUAL LIB_STATIC AND WIN32) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 35f30f8725..1b8fb7bb17 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -40,12 +40,8 @@ list(APPEND HHEADERS ${CMAKE_CURRENT_BINARY_DIR}/curl_config.h) # The rest of the build include_directories( - ${CMAKE_CURRENT_BINARY_DIR}/../include - ${CMAKE_CURRENT_SOURCE_DIR}/.. - ${CMAKE_CURRENT_SOURCE_DIR}/../include - ${CMAKE_CURRENT_BINARY_DIR}/.. - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} + "${CMAKE_CURRENT_BINARY_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}" ) if(USE_ARES) include_directories(${CARES_INCLUDE_DIR}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 53f1da3682..fa79bcdfe8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -118,11 +118,10 @@ source_group("curl source files" FILES ${CURL_CFILES}) source_group("curl header files" FILES ${CURL_HFILES}) include_directories( - ${CURL_SOURCE_DIR}/lib # for "curl_setup_once.h" - ${CURL_BINARY_DIR}/lib # for "curl_config.h" - ${CURL_BINARY_DIR}/include # for "curl/curl.h" + "${CURL_BINARY_DIR}/lib" # for "curl_config.h" + "${CURL_SOURCE_DIR}/lib" # for "curl_setup.h" # This is needed as tool_hugehelp.c is generated in the binary dir - ${CURL_SOURCE_DIR}/src # for "tool_hugehelp.h" + "${CURL_SOURCE_DIR}/src" # for "tool_hugehelp.h" ) # Build curl executable diff --git a/tests/http/clients/CMakeLists.txt b/tests/http/clients/CMakeLists.txt index 46d887adb4..dab2d92372 100644 --- a/tests/http/clients/CMakeLists.txt +++ b/tests/http/clients/CMakeLists.txt @@ -31,9 +31,8 @@ foreach(_client IN LISTS check_PROGRAMS) add_executable(${_client_target} "${_client}.c") add_dependencies(testdeps ${_client_target}) target_include_directories(${_client_target} PRIVATE - "${CURL_SOURCE_DIR}/lib" # for "curl_setup_once.h" - "${CURL_BINARY_DIR}/lib" # for "curl_config.h" - "${CURL_BINARY_DIR}/include" # for "curl/curl.h" + "${CURL_BINARY_DIR}/lib" # for "curl_config.h" + "${CURL_SOURCE_DIR}/lib" # for "curl_setup.h" ) target_link_libraries(${_client_target} ${LIB_SELECTED} ${CURL_LIBS}) target_compile_definitions(${_client_target} PRIVATE "CURL_NO_OLDIES") diff --git a/tests/libtest/CMakeLists.txt b/tests/libtest/CMakeLists.txt index 85ac823df7..9cb43c098d 100644 --- a/tests/libtest/CMakeLists.txt +++ b/tests/libtest/CMakeLists.txt @@ -35,10 +35,9 @@ function(setup_test test_name) # ARGN are the files in the test string(TOUPPER ${test_name} UPPER_TEST_NAME) include_directories( - ${CURL_SOURCE_DIR}/lib # for "curl_setup_once.h" - ${CURL_BINARY_DIR}/lib # for "curl_config.h" - ${CURL_BINARY_DIR}/include # for "curl/curl.h" - ${CURL_SOURCE_DIR}/tests/libtest # to be able to build generated tests + "${CURL_BINARY_DIR}/lib" # for "curl_config.h" + "${CURL_SOURCE_DIR}/lib" # for "curl_setup.h" + "${CURL_SOURCE_DIR}/tests/libtest" # to be able to build generated tests ) if(USE_ARES) include_directories(${CARES_INCLUDE_DIR}) diff --git a/tests/server/CMakeLists.txt b/tests/server/CMakeLists.txt index c72cf512d5..b46c23085e 100644 --- a/tests/server/CMakeLists.txt +++ b/tests/server/CMakeLists.txt @@ -32,10 +32,9 @@ function(setup_executable test_name) # ARGN are the files in the test add_dependencies(testdeps ${test_name}) include_directories( - ${CURL_SOURCE_DIR}/lib # for "curl_setup_once.h" - ${CURL_BINARY_DIR}/lib # for "curl_config.h" - ${CURL_BINARY_DIR}/include # for "curl/curl.h" - ${CURL_SOURCE_DIR}/src # for "tool_xattr.h" + "${CURL_BINARY_DIR}/lib" # for "curl_config.h" + "${CURL_SOURCE_DIR}/lib" # for "curl_setup.h" + "${CURL_SOURCE_DIR}/src" # for "tool_xattr.h" in disabled_SOURCES ) if(USE_ARES) include_directories(${CARES_INCLUDE_DIR}) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index 6ec352f6ef..3b99257c42 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -27,11 +27,10 @@ transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc. include(${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake) include_directories( - ${CURL_SOURCE_DIR}/lib # for "curl_setup_once.h" - ${CURL_SOURCE_DIR}/tests/libtest - ${CURL_SOURCE_DIR}/src - ${CURL_BINARY_DIR}/lib # for "curl_config.h" - ${CURL_BINARY_DIR}/include # for "curl/curl.h" + "${CURL_BINARY_DIR}/lib" # for "curl_config.h" + "${CURL_SOURCE_DIR}/lib" # for "curl_setup.h" + "${CURL_SOURCE_DIR}/src" + "${CURL_SOURCE_DIR}/tests/libtest" ) foreach(_testfile IN LISTS UNITPROGS)