Author: brane Date: Wed May 28 19:00:56 2025 New Revision: 1925911 URL: http://svn.apache.org/viewvc?rev=1925911&view=rev Log: Working on the CMake build.
* CMakeLists.txt: apr, apr-util, zlib and openssl are all required. Add the major version to the pkg-config file, just like SConstruct does, but install the file into lib/pkgconfig not share/pkgconfig -- the latter doesn't seem to be a standard location for pkg-config files. * build/FindAPR.cmake: On Windows, widen the search for APR headers. Add APR_DECLARE_STATIC to the compile definitions for the static library target. * build/FindAPRUtil.cmake: Same, for apr-util. Modified: serf/trunk/CMakeLists.txt serf/trunk/build/FindAPR.cmake serf/trunk/build/FindAPRUtil.cmake Modified: serf/trunk/CMakeLists.txt URL: http://svn.apache.org/viewvc/serf/trunk/CMakeLists.txt?rev=1925911&r1=1925910&r2=1925911&view=diff ============================================================================== --- serf/trunk/CMakeLists.txt (original) +++ serf/trunk/CMakeLists.txt Wed May 28 19:00:56 2025 @@ -226,10 +226,10 @@ else(SERF_WINDOWS) endif(SERF_WINDOWS) # Find dependencies -find_package(OpenSSL) -find_package(ZLIB) -find_package(APR) -find_package(APRUtil) +find_package(OpenSSL REQUIRED) +find_package(ZLIB REQUIRED) +find_package(APR REQUIRED) +find_package(APRUtil REQUIRED) # Calculate the set of private and public targets set(SERF_PRIVATE_TARGETS OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB) @@ -401,12 +401,12 @@ if(NOT SERF_WINDOWS) foreach(DEPLIB ${SERF_INTERFACE_LIBS}) string(APPEND LIBS " ${DEPLIB}") endforeach() - configure_file("build/serf.pc.in" "serf.pc" @ONLY) + configure_file("build/serf.pc.in" "serf-${SERF_MAJOR_VERSION}.pc" @ONLY) endfunction() make_pkgconfig() - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/serf.pc" - DESTINATION "share/pkgconfig") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/serf-${SERF_MAJOR_VERSION}.pc" + DESTINATION "lib/pkgconfig") endif() Modified: serf/trunk/build/FindAPR.cmake URL: http://svn.apache.org/viewvc/serf/trunk/build/FindAPR.cmake?rev=1925911&r1=1925910&r2=1925911&view=diff ============================================================================== --- serf/trunk/build/FindAPR.cmake (original) +++ serf/trunk/build/FindAPR.cmake Wed May 28 19:00:56 2025 @@ -182,10 +182,14 @@ if(NOT _apru_include_only_utilities) include(CheckIncludeFile) - set(APR_INCLUDES "${APR_ROOT}/include") - if(NOT EXISTS "${APR_INCLUDES}/apr.h") - message(FATAL_ERROR "apr.h was not found in ${APR_INCLUDES}") + find_path(APR_INCLUDES "apr.h" + PATHS "${APR_ROOT}/include" + PATH_SUFFIXES "apr-2" "apr-1" + NO_DEFAULT_PATH) + if(NOT APR_INCLUDES) + message(FATAL_ERROR "apr.h was not found in ${APR_ROOT}") endif() + if(NOT EXISTS "${APR_INCLUDES}/apr_version.h") message(FATAL_ERROR "apr_version.h was not found in ${APR_INCLUDES}") endif() @@ -250,6 +254,7 @@ if(NOT _apru_include_only_utilities) _apru_extras(_apr_static _apr_extra ${APR_STATIC_LIBS}) add_library(APR::APR_static STATIC IMPORTED) set_target_properties(APR::APR_static PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "APR_DECLARE_STATIC" INTERFACE_INCLUDE_DIRECTORIES "${APR_INCLUDES}" IMPORTED_INTERFACE_LINK_LIBRARIES "${_apr_extra}" IMPORTED_LOCATION "${_apr_static}") Modified: serf/trunk/build/FindAPRUtil.cmake URL: http://svn.apache.org/viewvc/serf/trunk/build/FindAPRUtil.cmake?rev=1925911&r1=1925910&r2=1925911&view=diff ============================================================================== --- serf/trunk/build/FindAPRUtil.cmake (original) +++ serf/trunk/build/FindAPRUtil.cmake Wed May 28 19:00:56 2025 @@ -87,10 +87,14 @@ else(APR_CONTAINS_APRUTIL) include(CheckIncludeFile) - set(APRUTIL_INCLUDES "${APRUtil_ROOT}/include") - if(NOT EXISTS "${APRUTIL_INCLUDES}/apu.h") - message(FATAL_ERROR "apu.h was not found in ${APRUTIL_INCLUDES}") + find_path(APRUTIL_INCLUDES "apu.h" + PATHS "${APRUtil_ROOT}/include" + PATH_SUFFIXES "apr-1" + NO_DEFAULT_PATH) + if(NOT APRUTIL_INCLUDES) + message(FATAL_ERROR "apu.h was not found in ${APRUtil_ROOT}") endif() + if(NOT EXISTS "${APRUTIL_INCLUDES}/apu_version.h") message(FATAL_ERROR "apu_version.h was not found in ${APRUTIL_INCLUDES}") endif() @@ -175,6 +179,7 @@ else(APR_CONTAINS_APRUTIL) endif() add_library(APR::APRUTIL_static STATIC IMPORTED) set_target_properties(APR::APRUTIL_static PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "APU_DECLARE_STATIC" INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}" IMPORTED_LOCATION "${_apu_static}") target_link_libraries(APR::APRUTIL_static