cmake : follow recent FTM improvements from Makefile
This commit is contained in:
parent
41997549fe
commit
39d1b769f5
1 changed files with 43 additions and 0 deletions
|
@ -551,6 +551,49 @@ else()
|
||||||
message(STATUS "Unknown architecture")
|
message(STATUS "Unknown architecture")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# clock_gettime came in POSIX.1b (1993)
|
||||||
|
# CLOCK_MONOTONIC came in POSIX.1-2001 / SUSv3 as optional
|
||||||
|
# posix_memalign came in POSIX.1-2001 / SUSv3
|
||||||
|
# M_PI is an XSI extension since POSIX.1-2001 / SUSv3, came in XPG1 (1985)
|
||||||
|
add_compile_definitions(_XOPEN_SOURCE=600)
|
||||||
|
|
||||||
|
# Somehow in OpenBSD whenever POSIX conformance is specified
|
||||||
|
# some string functions rely on locale_t availability,
|
||||||
|
# which was introduced in POSIX.1-2008, forcing us to go higher
|
||||||
|
IF (CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
||||||
|
remove_definitions(-D_XOPEN_SOURCE=600)
|
||||||
|
add_compile_definitions(_XOPEN_SOURCE=700)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Data types, macros and functions related to controlling CPU affinity and
|
||||||
|
# some memory allocation are available on Linux through GNU extensions in libc
|
||||||
|
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||||
|
add_compile_definitions(_GNU_SOURCE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# RLIMIT_MEMLOCK came in BSD, is not specified in POSIX.1,
|
||||||
|
# and on macOS its availability depends on enabling Darwin extensions
|
||||||
|
# similarly on DragonFly, enabling BSD extensions is necessary
|
||||||
|
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||||
|
add_compile_definitions(_DARWIN_C_SOURCE)
|
||||||
|
ENDIF()
|
||||||
|
IF (CMAKE_SYSTEM_NAME MATCHES "DragonFly")
|
||||||
|
add_compile_definitions(_DARWIN_C_SOURCE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# alloca is a non-standard interface that is not visible on BSDs when
|
||||||
|
# POSIX conformance is specified, but not all of them provide a clean way
|
||||||
|
# to enable it in such cases
|
||||||
|
IF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||||
|
add_compile_definitions(__BSD_VISIBLE)
|
||||||
|
ENDIF()
|
||||||
|
IF (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
|
||||||
|
add_compile_definitions(_NETBSD_SOURCE)
|
||||||
|
ENDIF()
|
||||||
|
IF (CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
||||||
|
add_compile_definitions(_BSD_SOURCE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
#
|
#
|
||||||
# libraries
|
# libraries
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue