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)
Patch v3: add OPTIONAL keyword to Incldue required by some cmake versions
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 2d0cd5dd0..7dae6655d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,6 +16,7 @@ find_package(PkgConfig REQUIRED)
include(CheckSymbolExists)
include(CheckIncludeFiles)
include(CheckCCompilerFlag)
+include(CheckLinkerFlag OPTIONAL)
include(CheckTypeSize)
include(CheckStructHasMember)
include(CTest)
@@ -564,18 +565,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 >= 3.18, so check if check_linker_flag is
+ # 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 ()
--
2.39.2 (Apple Git-143)
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel