On Sat, Jul 01, 2023 at 10:24:52PM +0200, Arne Schwabe wrote:
> This avoids build errors on macOS. Also the test_tls_crypt command works
> just fine on FreeBSD with its linkers, so do not make that test Linux only.
>
> Patch v2: allow running with old cmake version (cmake 3 on RHEL7 with EPEL
> is only 3.17)
>
> Change-Id: Id26676bdc576c7d3d6726afa43fe6c7a397c579b
> Signed-off-by: Arne Schwabe <[email protected]>
> ---
> CMakeLists.txt | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index acebbb73c..a982c478a 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -16,6 +16,7 @@ find_package(PkgConfig REQUIRED)
> include(CheckSymbolExists)
> include(CheckIncludeFiles)
> include(CheckCCompilerFlag)
> +include(CheckLinkerFlag)
Tested with Ubuntu 20.04 LTS (cmake 3.16) and I needed to use
"include(CheckLinkerFlag OPTIONAL)",
otherwise it just threw an error.
> include(CheckTypeSize)
> include(CheckStructHasMember)
> include(CTest)
> @@ -560,18 +561,24 @@ if (BUILD_TESTING)
> )
> endif ()
>
> - if (NOT MSVC)
> - # MSVC does not support --wrap
> + # MSVC and Apple's LLVM ld do not support --wrap
> + # This test requires cmake >= 1.17, so check if check_linker_flag is
"> 3.17" or ">= 3.18"
> + # available
> + if (COMMAND check_linker_flag)
> + check_linker_flag(C -Wl,--wrap=parse_line LD_SUPPORTS_WRAP)
> + endif()
> +
> + if (${LD_SUPPORTS_WRAP})
> list(APPEND unit_tests
> "test_argv"
> + "test_tls_crypt"
> )
> endif ()
>
> - # These tests work on only on Linux since they depend on special linker
> features
> + # These tests work on only on Linux since they depend on special Linux
> features
> if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
> list(APPEND unit_tests
> "test_networking"
> - "test_tls_crypt"
> )
> endif ()
>
Regards,
--
Frank Lichtenheld
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel