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


Reply via email to