summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorBoris Stepanenko <Boris.Stepanenko@gmail.com>2021-09-03 19:38:43 +0300
committerBoris Stepanenko <Boris.Stepanenko@gmail.com>2021-09-03 19:38:43 +0300
commit5916212db066fccdc8e2709ec48129af82884f05 (patch)
treebac2adbeae93b460808ad3971be4c7a20b68f787 /CMakeLists.txt
parent35ef979ad550c1f94b4664493dfdd65b77191fc7 (diff)
cmake: change GetGLibcVersion to compiler capabilities check
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt22
1 files changed, 15 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b27785e..e5f730f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
include(GNUInstallDirs)
-include(GetGLibcVersion)
include(CheckSymbolExists)
include(BuildQEMU)
include(BuildNcurses)
@@ -150,14 +149,23 @@ set(NM_DEFAULT_QEMUDIR "/usr/bin" CACHE STRING
if(NM_OS_LINUX)
add_definitions(-DNM_OS_LINUX)
- get_glibc_version()
- if(GLIBC_VERSION VERSION_GREATER 2.18)
- add_definitions(-D_DEFAULT_SOURCE)
- else()
- add_definitions(-D_XOPEN_SOURCE=700 -D_BSD_SOURCE)
+ try_compile(
+ NET_IF
+ "${CMAKE_CURRENT_BINARY_DIR}/CMake_Tests"
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Tests/net_if.c"
+ COMPILE_DEFINITIONS "-Wall -Wextra -pedantic -Werror")
+
+ if(NOT NET_IF)
+ add_definitions(-DNM_NET_IF_FIX)
endif()
- if(GLIBC_VERSION VERSION_GREATER 2.0)
+ try_compile(
+ SENDFILE
+ "${CMAKE_CURRENT_BINARY_DIR}/CMake_Tests"
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Tests/sendfile.c"
+ COMPILE_DEFINITIONS "-Wall -Wextra -pedantic -Werror")
+
+ if(SENDFILE)
set(NM_WITH_SENDFILE TRUE)
add_definitions(-DNM_WITH_SENDFILE)
endif()