On Wed, Jun 11, 2025 at 12:29 AM Branko Čibej <br...@apache.org> wrote:

> On 11. 6. 25 00:00, rin...@apache.org wrote:
>
> Author: rinrab
> Date: Tue Jun 10 22:00:42 2025
> New Revision: 1926349
>
> URL: http://svn.apache.org/viewvc?rev=1926349&view=rev
> Log:
> cmake: Support apr-2.
>
> * build/cmake/FindAPR.cmake
>   (APR_INCLUDE_DIR): Also check apr-2 directory.
>   (version): Read it just after include dir and default it to 1.0.0 version
>    file not found.
>   (APR_LIBRARY_SHARED, APR_LIBRARY_STATIC, APR_DLL): Use APR_MAJOR_VERSION
>    to determine suffix.
> * build/cmake/FindSerf.cmake: Look for apr-util only if apr version is not 
> '2'.
> * CMakeLists.txt
>   (APR): Merge apr and apr-util sections, support apr-2 (which also ignores
>    apr-util library). In pkg-config branch we check for different names of
>    the config, while module branch adds apr-util only if apr version is
>    not '2'.
>
> Modified:
>     subversion/trunk/CMakeLists.txt
>     subversion/trunk/build/cmake/FindAPR.cmake
>     subversion/trunk/build/cmake/FindSerf.cmake
>
> Modified: subversion/trunk/CMakeLists.txt
> URL: 
> http://svn.apache.org/viewvc/subversion/trunk/CMakeLists.txt?rev=1926349&r1=1926348&r2=1926349&view=diff
> ==============================================================================
> --- subversion/trunk/CMakeLists.txt (original)
> +++ subversion/trunk/CMakeLists.txt Tue Jun 10 22:00:42 2025
> @@ -260,24 +260,33 @@ if(SVN_USE_PKG_CONFIG)
>    find_package(PkgConfig REQUIRED)
>  endif()
>
> -### APR
> +### APR and APR-Util
>
>  if(SVN_USE_PKG_CONFIG)
> -  pkg_check_modules(apr-1 REQUIRED IMPORTED_TARGET apr-1)
> -  add_library(external-apr ALIAS PkgConfig::apr-1)
> +  pkg_check_modules(apr IMPORTED_TARGET apr-1)
> +
> +  if(apr_FOUND)
> +    # apr-1
> +    add_library(external-apr ALIAS PkgConfig::apr)
> +
> +    pkg_check_modules(aprutil-1 REQUIRED IMPORTED_TARGET apr-util-1)
> +    add_library(external-aprutil ALIAS PkgConfig::aprutil-1)
> +  else()
> +    # apr-2
> +    pkg_check_modules(apr REQUIRED IMPORTED_TARGET apr-2)
> +    add_library(external-apr ALIAS PkgConfig::apr)
> +    add_library(external-aprutil ALIAS PkgConfig::apr)
> +  endif()
>  else()
>    find_package(APR REQUIRED)
>    add_library(external-apr ALIAS apr::apr)
> -endif()
>
> -### APR-Util
> -
> -if(SVN_USE_PKG_CONFIG)
> -  pkg_check_modules(aprutil-1 REQUIRED IMPORTED_TARGET apr-util-1)
> -  add_library(external-aprutil ALIAS PkgConfig::aprutil-1)
> -else()
> -  find_package(APRUtil REQUIRED)
> -  add_library(external-aprutil ALIAS apr::aprutil)
> +  if(APR_MAJOR_VERSION EQUAL 2)
> +    add_library(external-aprutil ALIAS apr::apr)
>
>
>
> Should be "major version greater than 1"
>
>
Even better to use VERSION_LESS: r1926351.


>
> [...]
>
> The more I look at this, the more I'm convinced that if we use serf, we
> should also use the same apr and apr-util as Serf does. It's an edge case,
> though.
>
>
Yay! *See?*

-- 
Timofei Zhakov

Reply via email to