Author: brane
Date: Sun Jun 8 17:23:20 2025
New Revision: 1926256
URL: http://svn.apache.org/viewvc?rev=1926256&view=rev
Log:
On the user-defined-authn branch: sync with trunk to r1926255.
Modified:
serf/branches/user-defined-authn/ (props changed)
serf/branches/user-defined-authn/.github/workflows/linux.yml
serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml
serf/branches/user-defined-authn/CMakeLists.txt
serf/branches/user-defined-authn/build/FindAPR.cmake
serf/branches/user-defined-authn/build/FindAPRUtil.cmake
serf/branches/user-defined-authn/build/FindBrotli.cmake
serf/branches/user-defined-authn/build/FindGSSAPI.cmake
serf/branches/user-defined-authn/build/SerfChecks.cmake
serf/branches/user-defined-authn/test/CMakeLists.txt
Propchange: serf/branches/user-defined-authn/
------------------------------------------------------------------------------
Merged /serf/trunk:r1926226-1926255
Modified: serf/branches/user-defined-authn/.github/workflows/linux.yml
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/.github/workflows/linux.yml?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/.github/workflows/linux.yml (original)
+++ serf/branches/user-defined-authn/.github/workflows/linux.yml Sun Jun 8
17:23:20 2025
@@ -1,4 +1,4 @@
-name: Linux
+name: Linux (SCons)
on:
push:
Modified: serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml
(original)
+++ serf/branches/user-defined-authn/.github/workflows/windows-cmake.yml Sun
Jun 8 17:23:20 2025
@@ -12,14 +12,19 @@ on:
jobs:
build:
strategy:
- matrix:
- os: [windows-latest]
- build-type: [Debug, Release]
- triplet:
- - x64-windows
- - x86-windows
- generator: [ "Visual Studio 17 2022" ]
fail-fast: false
+ matrix:
+ include:
+ - name: Windows x64
+ os: windows-latest
+ platform: x64
+ triplet: x64-windows
+ generator: "Visual Studio 17 2022"
+ - name: Windows x86
+ os: windows-latest
+ platform: Win32
+ triplet: x86-windows
+ generator: "Visual Studio 17 2022"
runs-on: ${{ matrix.os }}
@@ -34,33 +39,31 @@ jobs:
core.exportVariable('ACTIONS_CACHE_URL',
process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN',
process.env.ACTIONS_RUNTIME_TOKEN || '');
- - name: Set build environment for x86
- uses: actions/github-script@v7
- with:
- script: |
- core.exportVariable('SERF_WIN_PLATFORM', 'Win32');
- if: startsWith(matrix.triplet, 'x86-')
-
- - name: Set build environment for x64
- uses: actions/github-script@v7
- with:
- script: |
- core.exportVariable('SERF_WIN_PLATFORM', 'x64');
- if: startsWith(matrix.triplet, 'x64-')
-
- name: Install dependencies
run: vcpkg install --triplet ${{ matrix.triplet }} apr apr-util zlib
openssl brotli
- uses: actions/checkout@v3
- name: Configure CMake
- run: cmake -B ${{github.workspace}}/build -G "${{ matrix.generator }}"
-DCMAKE_GENERATOR_PLATFORM=${{ env.SERF_WIN_PLATFORM }}
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
-DAPR_ROOT=C:/vcpkg/installed/${{ matrix.triplet }}
-DAPRUtil_ROOT=C:/vcpkg/installed/${{ matrix.triplet }}
-DOPENSSL_ROOT_DIR=C:/vcpkg/installed/${{ matrix.triplet }}
-DZLIB_ROOT=C:/vcpkg/installed/${{ matrix.triplet }}
-DBrotli_ROOT=C:/vcpkg/installed/${{ matrix.triplet }}
+ run: >
+ cmake
+ -B ${{github.workspace}}/build
+ -G "${{ matrix.generator }}"
+ -DCMAKE_GENERATOR_PLATFORM=${{ matrix.platform }}
+ -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
+ -DCMAKE_PREFIX_PATH=C:/vcpkg/installed/${{ matrix.triplet }}
+ -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install
- - name: Build
- run: cmake --build ${{github.workspace}}/build --config ${{
matrix.build-type }}
+ - name: Build (Release)
+ run: cmake --build ${{github.workspace}}/build --config Release -j
+
+ - name: Build (Debug)
+ run: cmake --build ${{github.workspace}}/build --config Debug -j
+
+ - name: Test (Release)
+ working-directory: ${{github.workspace}}/build
+ run: ctest -C Release --output-on-failure
- - name: Test
+ - name: Test (Debug)
working-directory: ${{github.workspace}}/build
- # Execute tests defined by the CMake configuration.
- # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more
detail
- run: ctest -C ${{ matrix.build-type }} --output-on-failure
+ run: ctest -C Debug --output-on-failure
Modified: serf/branches/user-defined-authn/CMakeLists.txt
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/CMakeLists.txt?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/CMakeLists.txt (original)
+++ serf/branches/user-defined-authn/CMakeLists.txt Sun Jun 8 17:23:20 2025
@@ -265,7 +265,7 @@ if(APR_STATIC)
if(SERF_WINDOWS)
list(APPEND SERF_PUBLIC_TARGETS APR::APR_static)
if(NOT APR_CONTAINS_APRUTIL)
- list(APPEND SERF_PUBLIC_TARGETS APR::APRUTIL_static)
+ list(APPEND SERF_PUBLIC_TARGETS APR::APRUtil_static)
endif()
else(SERF_WINDOWS)
message(WARNING "option APR_STATIC is not implemented on this platform")
@@ -273,25 +273,45 @@ if(APR_STATIC)
else(APR_STATIC)
list(APPEND SERF_PUBLIC_TARGETS APR::APR)
if(NOT APR_CONTAINS_APRUTIL)
- list(APPEND SERF_PUBLIC_TARGETS APR::APRUTIL)
+ list(APPEND SERF_PUBLIC_TARGETS APR::APRUtil)
endif()
endif(APR_STATIC)
# Feature tests
include(SerfChecks)
-CheckNotFunction("BIO_set_init" "SERF_NO_SSL_BIO_WRAPPERS"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_STORE_get0_param" "SERF_NO_SSL_X509_STORE_WRAPPERS"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_get0_notBefore" "SERF_NO_SSL_X509_GET0_NOTBEFORE"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_get0_notAfter" "SERF_NO_SSL_X509_GET0_NOTAFTER"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("X509_STORE_CTX_get0_chain" "SERF_NO_SSL_X509_GET0_CHAIN"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckNotFunction("ASN1_STRING_get0_data" "SERF_NO_SSL_ASN1_STRING_GET0_DATA"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunction("CRYPTO_set_locking_callback" "SERF_HAVE_SSL_LOCKING_CALLBACKS"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunction("OpenSSL_version_num" "SERF_HAVE_OPENSSL_VERSION_NUM"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunction("SSL_set_alpn_protos" "SERF_HAVE_OPENSSL_ALPN"
${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
-CheckFunctionMacro("OPENSSL_malloc_init" "SERF_HAVE_OPENSSL_MALLOC_INIT"
"openssl/crypto.h"
- "${OPENSSL_INCLUDE_DIR}" ${OPENSSL_LIBRARIES}
${SERF_STANDARD_LIBRARIES})
-CheckFunctionMacro("SSL_library_init" "SERF_HAVE_OPENSSL_SSL_LIBRARY_INIT"
"openssl/ssl.h"
- "${OPENSSL_INCLUDE_DIR}" ${OPENSSL_LIBRARIES}
${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("BIO_set_init" "NULL, 0" "SERF_NO_SSL_BIO_WRAPPERS"
+ "openssl/bio.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_STORE_get0_param" "NULL"
"SERF_NO_SSL_X509_STORE_WRAPPERS"
+ "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_get0_notBefore" "NULL" "SERF_NO_SSL_X509_GET0_NOTBEFORE"
+ "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_get0_notAfter" "NULL" "SERF_NO_SSL_X509_GET0_NOTAFTER"
+ "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("X509_STORE_CTX_get0_chain" "NULL"
"SERF_NO_SSL_X509_GET0_CHAIN"
+ "openssl/x509.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckNotFunction("ASN1_STRING_get0_data" "NULL"
"SERF_NO_SSL_ASN1_STRING_GET0_DATA"
+ "openssl/asn1.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("CRYPTO_set_locking_callback" "NULL"
"SERF_HAVE_SSL_LOCKING_CALLBACKS"
+ "openssl/crypto.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("SSL_set_alpn_protos" "NULL, NULL, 0" "SERF_HAVE_OPENSSL_ALPN"
+ "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("OpenSSL_version_num" "" "SERF_HAVE_OPENSSL_VERSION_NUM"
+ "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("OPENSSL_malloc_init" "" "SERF_HAVE_OPENSSL_MALLOC_INIT"
+ "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
+CheckFunction("SSL_library_init" "" "SERF_HAVE_OPENSSL_SSL_LIBRARY_INIT"
+ "openssl/ssl.h" "${OPENSSL_INCLUDE_DIR}"
+ ${OPENSSL_LIBRARIES} ${SERF_STANDARD_LIBRARIES})
CheckHeader("stdbool.h" "HAVE_STDBOOL_H=1")
CheckType("OSSL_HANDSHAKE_STATE" "openssl/ssl.h"
"SERF_HAVE_OSSL_HANDSHAKE_STATE" ${OPENSSL_INCLUDE_DIR})
if(Brotli_FOUND)
@@ -299,7 +319,9 @@ if(Brotli_FOUND)
# Check for the function only if the type check succeeded.
get_directory_property(_cdef COMPILE_DEFINITIONS)
if("SERF_HAVE_BROTLI_DECODER_RESULT" IN_LIST _cdef)
- CheckFunction("BrotliDecoderTakeOutput" "SERF_HAVE_BROTLI" Brotli::Decode
${SERF_STANDARD_LIBRARIES})
+ CheckFunction("BrotliDecoderTakeOutput" "NULL, NULL" "SERF_HAVE_BROTLI"
+ "brotli/decode.h" ${BROTLI_INCLUDES}
+ Brotli::Decode ${SERF_STANDARD_LIBRARIES})
endif()
endif()
Modified: serf/branches/user-defined-authn/build/FindAPR.cmake
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindAPR.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindAPR.cmake (original)
+++ serf/branches/user-defined-authn/build/FindAPR.cmake Sun Jun 8 17:23:20
2025
@@ -60,9 +60,11 @@ cmake_minimum_required(VERSION 3.12)
# -------------------------------------------------------------------
-# Common utility functions for FindAPR.cmaks and FindAPRtil.cmake
+# Common utility functions for FindAPR.cmake and FindAPRtil.cmake
# -------------------------------------------------------------------
+include(GNUInstallDirs)
+
# Run the APR/Util configuration program
function(_apru_config _program _varname _regexp)
execute_process(COMMAND ${_program} ${ARGN}
@@ -87,28 +89,58 @@ function(_apru_config _program _varname
endif()
endfunction(_apru_config)
-# Parse the APR/Util version number from the header
-function(_apru_version _version_varname _major_varname _minor_varname _header
_prefix)
- file(STRINGS ${_header} _apru_major
+# Windows: Find the APR/Util include dir and version number.
+function(_apru_find_win_version _header_basename
+ _include_varname _version_varname _major_varname _minor_varname)
+ find_path(${_include_varname} "${_header_basename}.h"
+ PATH_SUFFIXES
+ "include"
+ "${CMAKE_INSTALL_INCLUDEDIR}"
+ "include/apr-2"
+ "${CMAKE_INSTALL_INCLUDEDIR}/apr-2"
+ "include/apr-1"
+ "${CMAKE_INSTALL_INCLUDEDIR}/apr-1")
+ mark_as_advanced(${_include_varname})
+
+ set(_header "${_header_basename}_version.h")
+ if(NOT EXISTS "${${_include_varname}}/${_header}")
+ message(FATAL_ERROR "${_header} was not found in ${${_include_varname}}")
+ endif()
+
+ string(TOUPPER "${_header_basename}" _prefix)
+ set(_header "${${_include_varname}}/${_header}")
+ file(STRINGS "${_header}" _apru_major
REGEX "^ *# *define +${_prefix}_MAJOR_VERSION +[0-9]+.*$")
- file(STRINGS ${_header} _apru_minor
+ file(STRINGS "${_header}" _apru_minor
REGEX "^ *# *define +${_prefix}_MINOR_VERSION +[0-9]+.*$")
- file(STRINGS ${_header} _apru_patch
+ file(STRINGS "${_header}" _apru_patch
REGEX "^ *# *define +${_prefix}_PATCH_VERSION +[0-9]+.*$")
string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_major ${_apru_major})
string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_minor ${_apru_minor})
string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_patch ${_apru_patch})
+
set(${_version_varname} "${_apru_major}.${_apru_minor}.${_apru_patch}"
PARENT_SCOPE)
set(${_major_varname} ${_apru_major} PARENT_SCOPE)
set(${_minor_varname} ${_apru_minor} PARENT_SCOPE)
-endfunction(_apru_version)
+endfunction(_apru_find_win_version)
# Windows: Find the DLL (runtime) library
-function(_apru_find_dll _varname _dllname)
+function(_apru_find_win_dll _varname _dllname)
+ set(CMAKE_FIND_LIBRARY_PREFIXES "")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
- find_library(${_varname} NAMES ${_dllname}
- PATHS ${ARGN} NO_DEFAULT_PATH PATH_SUFFIXES "bin" "lib")
-endfunction(_apru_find_dll)
+ find_library(${_varname} NAMES "${_dllname}"
+ PATH_SUFFIXES
+ "bin" "${CMAKE_INSTALL_BINDIR}"
+ "lib" "${CMAKE_INSTALL_LIBDIR}")
+endfunction(_apru_find_win_dll)
+
+# Windows: Find static and import libraries
+function(_apru_find_win_lib _varname _libname)
+ set(CMAKE_FIND_LIBRARY_PREFIXES "")
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
+ find_library(${_varname} NAMES "${_libname}"
+ PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+endfunction(_apru_find_win_lib)
# Extract the main and extra static libraries
function(_apru_extras _static_var _extra_var)
@@ -159,57 +191,38 @@ function(_apru_location _location_var _e
if(NOT _dir)
find_library(${_location_var} NAMES "${_lib}")
else()
- find_library(${_location_var} NAMES "${_lib}" PATHS "${_dir}"
NO_DEFAULT_PATH)
+ find_library(${_location_var} NAMES "${_lib}"
+ PATHS "${_dir}" NO_DEFAULT_PATH)
endif()
set(${_extralibs_var} ${_extra} PARENT_SCOPE)
endfunction(_apru_location)
+
+# -------------------------------------------------------------------
+# The actual FindAPR implementation
# -------------------------------------------------------------------
if(NOT _apru_include_only_utilities)
set(APR_FOUND FALSE)
+ if(DEFINED APR_ROOT)
+ get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH)
+ endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
- if(DEFINED APR_ROOT)
- get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH)
- else()
- message(FATAL_ERROR "APR_ROOT must be defined on Windows")
- endif()
-
- include(CheckIncludeFile)
-
- 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()
-
- _apru_version(APR_VERSION _apr_major _apr_minor
"${APR_INCLUDES}/apr_version.h" "APR")
+ _apru_find_win_version("apr" APR_INCLUDES
+ APR_VERSION _apr_major _apr_minor)
set(_apr_name "apr-${_apr_major}")
- find_library(APR_LIBRARIES NAMES "lib${_apr_name}.lib"
- PATHS ${APR_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
- find_library(APR_STATIC_LIBS NAMES "${_apr_name}.lib"
- PATHS ${APR_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
- _apru_find_dll(APR_RUNTIME_LIBS "lib${_apr_name}.dll" ${APR_ROOT})
+ _apru_find_win_lib(APR_LIBRARIES "lib${_apr_name}")
+ _apru_find_win_lib(APR_STATIC_LIBS "${_apr_name}")
+ _apru_find_win_dll(APR_RUNTIME_LIBS "lib${_apr_name}")
else() # NOT Windows
- if(DEFINED APR_ROOT)
- get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH)
- find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config
- PATHS "${APR_ROOT}/bin" NO_DEFAULT_PATH)
- else()
- find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config)
- endif()
+ find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config
+ PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
mark_as_advanced(APR_CONFIG_EXECUTABLE)
macro(_apr_invoke _varname _regexp)
@@ -233,9 +246,10 @@ if(NOT _apru_include_only_utilities)
endif()
include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(APR
- REQUIRED_VARS APR_LIBRARIES APR_INCLUDES
- VERSION_VAR APR_VERSION)
+ find_package_handle_standard_args(
+ APR
+ REQUIRED_VARS APR_LIBRARIES APR_INCLUDES
+ VERSION_VAR APR_VERSION)
if(APR_FOUND)
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
Modified: serf/branches/user-defined-authn/build/FindAPRUtil.cmake
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindAPRUtil.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindAPRUtil.cmake (original)
+++ serf/branches/user-defined-authn/build/FindAPRUtil.cmake Sun Jun 8
17:23:20 2025
@@ -39,7 +39,7 @@ cmake_minimum_required(VERSION 3.12)
#
# ::
#
-# APRUTIL_FOUND - True if APR-Util was found
+# APRUtil_FOUND - True if APR-Util was found
# APRUTIL_VERSION - The version of APR-Util found (x.y.z)
# APRUTIL_INCLUDES - Where to find apr.h, etc.
# APRUTIL_LIBRARIES - Linker switches to use with ld to link against APR
@@ -61,7 +61,7 @@ if(NOT APR_FOUND)
find_package(APR REQUIRED)
endif()
-set(APRUTIL_FOUND FALSE)
+set(APRUtil_FOUND FALSE)
if(APR_CONTAINS_APRUTIL)
@@ -77,44 +77,27 @@ else(APR_CONTAINS_APRUTIL)
include(${CMAKE_CURRENT_LIST_DIR}/FindAPR.cmake)
unset(_apru_include_only_utilities)
- if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-
- if(DEFINED APRUtil_ROOT)
- get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH)
- else()
- message(FATAL_ERROR "APRUtil_ROOT must be defined on Windows")
- endif()
-
- include(CheckIncludeFile)
-
- 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(DEFINED APRUtil_ROOT)
+ get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH)
+ endif()
- if(NOT EXISTS "${APRUTIL_INCLUDES}/apu_version.h")
- message(FATAL_ERROR "apu_version.h was not found in ${APRUTIL_INCLUDES}")
- endif()
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
- _apru_version(APRUTIL_VERSION _apu_major _apu_minor
"${APRUTIL_INCLUDES}/apu_version.h" "APU")
+ _apru_find_win_version("apu" APRUTIL_INCLUDES
+ APRUTIL_VERSION _apu_major _apu_minor)
set(_apu_name "aprutil-${_apu_major}")
- if(${_apu_major} GREATER 1 OR (${_apu_major} EQUAL 1 AND ${_apu_minor}
GREATER 5))
- set(_apu_expat_name "expat.lib")
+ if(${_apu_major} GREATER 1
+ OR (${_apu_major} EQUAL 1 AND ${_apu_minor} GREATER 5))
+ set(_apu_expat_name "expat")
else()
- set(_apu_expat_name "xml.lib")
+ set(_apu_expat_name "xml")
endif()
- find_library(APRUTIL_LIBRARIES NAMES "lib${_apu_name}.lib"
- PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
- find_library(_apu_static NAMES "${_apu_name}.lib"
- PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
- find_library(_apu_expat NAMES ${_apu_expat_name}
- PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib")
- _apru_find_dll(APRUTIL_RUNTIME_LIBS "lib${_apu_name}.dll" ${APRUtil_ROOT})
+ _apru_find_win_lib(APRUTIL_LIBRARIES "lib${_apu_name}")
+ _apru_find_win_lib(_apu_static NAMES "${_apu_name}")
+ _apru_find_win_lib(_apu_expat NAMES ${_apu_expat_name})
+ _apru_find_win_dll(APRUTIL_RUNTIME_LIBS "lib${_apu_name}")
if(NOT _apu_expat AND (_apu_expat_name MATCHES "expat"))
find_package(EXPAT QUIET)
@@ -123,7 +106,7 @@ else(APR_CONTAINS_APRUTIL)
endif()
endif()
if(NOT _apu_expat)
- message(WARNING "Could not find ${_apu_expat_name}"
+ message(WARNING "Could not find ${_apu_expat_name}.lib"
" for APR-Util static linking.")
endif()
set(APRUTIL_STATIC_LIBS ${_apu_static} ${_apu_expat}
@@ -131,13 +114,8 @@ else(APR_CONTAINS_APRUTIL)
else() # NOT Windows
- if(DEFINED APRUtil_ROOT)
- get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH)
- find_program(APRUTIL_CONFIG_EXECUTABLE apu-1-config
- PATHS "${APRUtil_ROOT}/bin" NO_DEFAULT_PATH)
- else()
- find_program(APRUTIL_CONFIG_EXECUTABLE apu-1-config)
- endif()
+ find_program(APRUTIL_CONFIG_EXECUTABLE NAMES apu-1-config
+ PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
mark_as_advanced(APRUTIL_CONFIG_EXECUTABLE)
macro(_apu_invoke _varname _regexp)
@@ -153,21 +131,22 @@ else(APR_CONTAINS_APRUTIL)
endif() # NOT Windows
include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(APRUtil
- REQUIRED_VARS APRUTIL_LIBRARIES
APRUTIL_INCLUDES
- VERSION_VAR APRUTIL_VERSION)
+ find_package_handle_standard_args(
+ APRUtil
+ REQUIRED_VARS APRUTIL_LIBRARIES APRUTIL_INCLUDES
+ VERSION_VAR APRUTIL_VERSION)
- if(APRUTIL_FOUND)
+ if(APRUtil_FOUND)
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
if(APRUTIL_LIBRARIES AND APRUTIL_RUNTIME_LIBS)
- add_library(APR::APRUTIL SHARED IMPORTED)
- set_target_properties(APR::APRUTIL PROPERTIES
+ add_library(APR::APRUtil SHARED IMPORTED)
+ set_target_properties(APR::APRUtil PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}"
IMPORTED_LOCATION "${APRUTIL_RUNTIME_LIBS}"
IMPORTED_IMPLIB "${APRUTIL_LIBRARIES}")
if(TARGET APR::APR)
- target_link_libraries(APR::APRUTIL
+ target_link_libraries(APR::APRUtil
INTERFACE APR::APR)
endif()
endif()
@@ -177,25 +156,25 @@ else(APR_CONTAINS_APRUTIL)
if(TARGET APR::APR_static)
list(APPEND _apu_extra APR::APR_static)
endif()
- add_library(APR::APRUTIL_static STATIC IMPORTED)
- set_target_properties(APR::APRUTIL_static PROPERTIES
+ 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
+ target_link_libraries(APR::APRUtil_static
INTERFACE ${_apu_extra})
endif()
else() # NOT Windows
_apru_location(_apu_library _apu_extra "${APRUTIL_LIBRARIES}")
- add_library(APR::APRUTIL UNKNOWN IMPORTED)
- set_target_properties(APR::APRUTIL PROPERTIES
+ add_library(APR::APRUtil UNKNOWN IMPORTED)
+ set_target_properties(APR::APRUtil PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}"
IMPORTED_LOCATION "${_apu_library}")
- target_link_libraries(APR::APRUTIL
+ target_link_libraries(APR::APRUtil
INTERFACE ${APRUTIL_LDFLAGS};${APRUTIL_EXTRALIBS};${_apu_extra})
endif() # NOT Windows
- endif(APRUTIL_FOUND)
+ endif(APRUtil_FOUND)
endif(APR_CONTAINS_APRUTIL)
Modified: serf/branches/user-defined-authn/build/FindBrotli.cmake
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindBrotli.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindBrotli.cmake (original)
+++ serf/branches/user-defined-authn/build/FindBrotli.cmake Sun Jun 8 17:23:20
2025
@@ -23,18 +23,10 @@ include(GNUInstallDirs)
set(Brotli_FOUND FALSE)
function(_get_brotli_version)
- if(DEFINED Brotli_ROOT)
- get_filename_component(Brotli_ROOT "${Brotli_ROOT}" REALPATH)
- find_program(brotli NAMES "brotli"
- PATHS
- "${Brotli_ROOT}/bin"
- "${Brotli_ROOT}/${CMAKE_INSTALL_BINDIR}"
- NO_DEFAULT_PATH)
- else()
- find_program(brotli NAMES "brotli")
- endif()
+ find_program(brotli NAMES "brotli"
+ PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
- if(NOT "${brotli}" STREQUAL "brotli-NOTFOUND")
+ if(NOT "${brotli}" MATCHES "-NOTFOUND")
execute_process(COMMAND "${brotli}" "--version"
OUTPUT_VARIABLE output
RESULT_VARIABLE failed)
@@ -49,42 +41,28 @@ function(_get_brotli_version)
endfunction(_get_brotli_version)
function(_get_brotli_includes_libs)
- if(DEFINED Brotli_ROOT)
- find_path(includes "decode.h"
- PATHS "${Brotli_ROOT}"
- PATH_SUFFIXES
- "include/brotli"
- "${CMAKE_INSTALL_INCLUDEDIR}/brotli}"
- NO_DEFAULT_PATH)
- get_filename_component(includes "${includes}" DIRECTORY)
- find_library(common_lib "brotlicommon"
- PATHS "${Brotli_ROOT}"
- PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}"
- NO_DEFAULT_PATH)
- find_library(decode_lib "brotlidec"
- PATHS "${Brotli_ROOT}"
- PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}"
- NO_DEFAULT_PATH)
- find_library(encode_lib "brotlienc"
- PATHS "${Brotli_ROOT}"
- PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}"
- NO_DEFAULT_PATH)
- else()
- find_path(includes "decode.h"
- PATH_SUFFIXES
- "include/brotli"
- "${CMAKE_INSTALL_INCLUDEDIR}/brotli}")
- get_filename_component(includes "${includes}" DIRECTORY)
- find_library(common_lib "brotlicommon")
- find_library(decode_lib "brotlidec")
- find_library(encode_lib "brotlienc")
- endif()
+ find_path(includes "decode.h"
+ PATH_SUFFIXES
+ "include/brotli"
+ "${CMAKE_INSTALL_INCLUDEDIR}/brotli}")
+ get_filename_component(includes "${includes}" DIRECTORY)
+ find_library(common_lib NAMES "brotlicommon"
+ PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+ find_library(decode_lib NAMES "brotlidec"
+ PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+ find_library(encode_lib NAMES "brotlienc"
+ PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}")
+
set(BROTLI_INCLUDES "${includes}" PARENT_SCOPE)
set(BROTLI_COMMON_LIBRARY "${common_lib}" PARENT_SCOPE)
set(BROTLI_DECODE_LIBRARY "${decode_lib}" PARENT_SCOPE)
set(BROTLI_ENCODE_LIBRARY "${encode_lib}" PARENT_SCOPE)
endfunction(_get_brotli_includes_libs)
+if(DEFINED Brotli_ROOT)
+ get_filename_component(Brotli_ROOT "${Brotli_ROOT}" REALPATH)
+endif()
+
_get_brotli_version()
_get_brotli_includes_libs()
if(NOT EXISTS "${BROTLI_INCLUDES}/brotli/decode.h"
Modified: serf/branches/user-defined-authn/build/FindGSSAPI.cmake
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/FindGSSAPI.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/FindGSSAPI.cmake (original)
+++ serf/branches/user-defined-authn/build/FindGSSAPI.cmake Sun Jun 8 17:23:20
2025
@@ -23,14 +23,13 @@ set(GSSAPI_FOUND FALSE)
if(DEFINED GSSAPI_ROOT)
get_filename_component(GSSAPI_ROOT "${GSSAPI_ROOT}" REALPATH)
- find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config"
- PATHS "${GSSAPI_ROOT}/bin" NO_DEFAULT_PATH)
-else()
- find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config")
endif()
+
+find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config"
+ PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}")
mark_as_advanced(KRB5_CONFIG_EXECUTABLE)
-if("${KRB5_CONFIG_EXECUTABLE}" STREQUAL "KRB5_CONFIG_EXECUTABLE-NOTFOUND")
+if("${KRB5_CONFIG_EXECUTABLE}" MATCHES "-NOTFOUND")
message(STATUS "Could NOT find GSSAPI (missing: krb5-config)")
else()
function(_krb5_config _varname _dedup)
Modified: serf/branches/user-defined-authn/build/SerfChecks.cmake
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/build/SerfChecks.cmake?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/build/SerfChecks.cmake (original)
+++ serf/branches/user-defined-authn/build/SerfChecks.cmake Sun Jun 8 17:23:20
2025
@@ -17,71 +17,69 @@
# under the License.
# ===================================================================
-include(CheckFunctionExists)
+include(CheckCSourceCompiles)
include(CheckIncludeFile)
-include(CheckSymbolExists)
include(CheckTypeSize)
-function(_CheckFunction var_ name_ libraries_)
+function(_CheckFunction var_ name_ args_ header_ includes_ libraries_)
if(libraries_)
set(CMAKE_REQUIRED_LIBRARIES "${libraries_}")
else()
unset(CMAKE_REQUIRED_LIBRARIES)
endif()
- check_function_exists("${name_}" "serf_foundit_${name_}_")
- if(serf_foundit_${name_}_)
+ if(includes_)
+ set(CMAKE_REQUIRED_INCLUDES "${includes_}")
+ else()
+ unset(CMAKE_REQUIRED_INCLUDES)
+ endif()
+
+ set(source_
+ "#include <${header_}>"
+ ""
+ "#if _MSC_VER && !__INTEL_COMPILER"
+ " #pragma function(${name_})"
+ "#endif"
+ ""
+ "int main(void) {"
+ "#if defined (__stub_${name_}) || defined (__stub___${name_})"
+ " #error \"${name_} has a GNU stub, cannot check\""
+ "#else"
+ " ${name_}(${args_})\\;"
+ "#endif"
+ " return 0\\;"
+ "}"
+ "")
+ list(JOIN source_ "\n" source_)
+
+ check_c_source_compiles("${source_}" "check_function_${name_}")
+ if(${check_function_${name_}})
set("${var_}" TRUE PARENT_SCOPE)
else()
set("${var_}" FALSE PARENT_SCOPE)
endif()
+
+ unset(CMAKE_REQUIRED_INCLUDES)
unset(CMAKE_REQUIRED_LIBRARIES)
endfunction(_CheckFunction)
-macro(CheckFunction name_ symbol_)
- _CheckFunction("serf_feature_CheckFunction_${name_}_" "${name_}" "${ARGN}")
+macro(CheckFunction name_ args_ symbol_ header_ includes_)
+ _CheckFunction("serf_feature_CheckFunction_${name_}_"
+ "${name_}" "${args_}" "${header_}" "${includes_}" "${ARGN}")
if("${serf_feature_CheckFunction_${name_}_}")
add_compile_definitions("${symbol_}")
endif()
endmacro(CheckFunction)
-macro(CheckNotFunction name_ symbol_)
- _CheckFunction("serf_feature_CheckNotFunction_${name_}_" "${name_}"
"${ARGN}")
+macro(CheckNotFunction name_ args_ symbol_ header_ includes_)
+ _CheckFunction("serf_feature_CheckNotFunction_${name_}_"
+ "${name_}" "${args_}" "${header_}" "${includes_}" "${ARGN}")
if(NOT "${serf_feature_CheckNotFunction_${name_}_}")
add_compile_definitions("${symbol_}")
endif()
endmacro(CheckNotFunction)
-function(_CheckSymbol var_ name_ header_ includes_)
- if(includes_)
- set(CMAKE_REQUIRED_INCLUDES "${includes_}")
- else()
- unset(CMAKE_REQUIRED_INCLUDES)
- endif()
-
- check_symbol_exists("${name_}" "${header_}" "serf_foundit_symbol_${name_}_")
- if(serf_foundit_symbol_${name_}_)
- set("${var_}" TRUE PARENT_SCOPE)
- else()
- set("${var_}" FALSE PARENT_SCOPE)
- endif()
- unset(CMAKE_REQUIRED_INCLUDES)
-endfunction(_CheckSymbol)
-
-macro(CheckFunctionMacro name_ symbol_ header_ includes_)
- _CheckFunction("serf_feature_CheckFunctionMacro_${name_}_" "${name_}"
"${ARGN}")
- if("${serf_feature_CheckFunctionMacro_${name_}_}")
- add_compile_definitions("${symbol_}")
- else()
- _CheckSymbol("serf_feature_CheckFunctionMacro_${name_}_" "${name_}"
"${header_}" "${includes_}")
- if("${serf_feature_CheckFunctionMacro_${name_}_}")
- add_compile_definitions("${symbol_}")
- endif()
- endif()
-endmacro(CheckFunctionMacro)
-
-
function(_CheckHeader var_ name_ includes_)
if(includes_)
set(CMAKE_REQUIRED_INCLUDES "${includes_}")
@@ -89,8 +87,8 @@ function(_CheckHeader var_ name_ include
unset(CMAKE_REQUIRED_INCLUDES)
endif()
- check_include_file("${name_}" "serf_foundit_${name_}_")
- if(${serf_foundit_${name_}_})
+ check_include_file("${name_}" "check_symbol_${name_}")
+ if(${check_symbol_${name_}})
set("${var_}" TRUE PARENT_SCOPE)
else()
set("${var_}" FALSE PARENT_SCOPE)
@@ -119,8 +117,8 @@ function(_CheckType var_ name_ header_ i
unset(CMAKE_EXTRA_INCLUDE_FILES)
endif()
- check_type_size("${name_}" "serf_foundit_${name_}_")
- if(${HAVE_serf_foundit_${name_}_})
+ check_type_size("${name_}" "check_type_${name_}")
+ if(${HAVE_check_type_${name_}})
set("${var_}" TRUE PARENT_SCOPE)
else()
set("${var_}" FALSE PARENT_SCOPE)
Modified: serf/branches/user-defined-authn/test/CMakeLists.txt
URL:
http://svn.apache.org/viewvc/serf/branches/user-defined-authn/test/CMakeLists.txt?rev=1926256&r1=1926255&r2=1926256&view=diff
==============================================================================
--- serf/branches/user-defined-authn/test/CMakeLists.txt (original)
+++ serf/branches/user-defined-authn/test/CMakeLists.txt Sun Jun 8 17:23:20
2025
@@ -34,6 +34,15 @@ set(TEST_ALL_SOURCES
"MockHTTPinC/MockHTTP_server.c"
)
+set(TEST_ALL_SUITES
+ "auth"
+ "buckets"
+ "context"
+ "server"
+ "ssl"
+ "internal"
+)
+
set(SIMPLE_TEST_TARGETS
"serf_get"
"serf_response"
@@ -64,10 +73,13 @@ file(GLOB RESPONSE_TEST_CASES "${CMAKE_C
foreach(TEST_CASE ${RESPONSE_TEST_CASES})
get_filename_component(TEST_CASE_NAME ${TEST_CASE} NAME)
add_test(NAME "${TEST_CASE_NAME}" COMMAND serf_response "${TEST_CASE}")
- list(APPEND RESPONSE_TESTS "${TEST_CASE_NAME}")
+ list(APPEND ALL_TESTS "${TEST_CASE_NAME}")
endforeach()
-add_test(NAME test_all COMMAND test_all)
+foreach(TEST_CASE ${TEST_ALL_SUITES})
+ add_test(NAME test_${TEST_CASE} COMMAND test_all ${TEST_CASE})
+ list(APPEND ALL_TESTS test_${TEST_CASE})
+endforeach()
-set_tests_properties(${RESPONSE_TESTS} test_all PROPERTIES
+set_tests_properties(${ALL_TESTS} PROPERTIES
ENVIRONMENT srcdir=${SERF_SOURCE_DIR})