48 lines
1.4 KiB
CMake
48 lines
1.4 KiB
CMake
|
#
|
||
|
# tuklib_common.cmake - common functions and macros for tuklib_*.cmake files
|
||
|
#
|
||
|
# Author: Lasse Collin
|
||
|
#
|
||
|
# This file has been put into the public domain.
|
||
|
# You can do whatever you want with this file.
|
||
|
#
|
||
|
|
||
|
function(tuklib_add_definitions TARGET_OR_ALL DEFINITIONS)
|
||
|
if(TARGET_OR_ALL STREQUAL "ALL")
|
||
|
add_compile_definitions(${DEFINITIONS})
|
||
|
else()
|
||
|
target_compile_definitions(${TARGET_OR_ALL} PRIVATE ${DEFINITIONS})
|
||
|
endif()
|
||
|
endfunction()
|
||
|
|
||
|
function(tuklib_add_definition_if TARGET_OR_ALL VAR)
|
||
|
if(${VAR})
|
||
|
tuklib_add_definitions(${TARGET_OR_ALL} ${VAR})
|
||
|
endif()
|
||
|
endfunction()
|
||
|
|
||
|
# This is an over-simplified version of AC_USE_SYSTEM_EXTENSIONS in Autoconf
|
||
|
# or gl_USE_SYSTEM_EXTENSIONS in gnulib.
|
||
|
macro(tuklib_use_system_extensions TARGET_OR_ALL)
|
||
|
if(NOT WIN32)
|
||
|
# FIXME? The Solaris-specific __EXTENSIONS__ should be conditional
|
||
|
# even on Solaris. See gnulib: git log m4/extensions.m4.
|
||
|
# FIXME? gnulib and autoconf.git has lots of new stuff.
|
||
|
tuklib_add_definitions(${TARGET_OR_ALL}
|
||
|
_GNU_SOURCE
|
||
|
__EXTENSIONS__
|
||
|
_POSIX_PTHREAD_SEMANTICS
|
||
|
_TANDEM_SOURCE
|
||
|
_ALL_SOURCE
|
||
|
)
|
||
|
|
||
|
list(APPEND CMAKE_REQUIRED_DEFINITIONS
|
||
|
-D_GNU_SOURCE
|
||
|
-D__EXTENSIONS__
|
||
|
-D_POSIX_PTHREAD_SEMANTICS
|
||
|
-D_TANDEM_SOURCE
|
||
|
-D_ALL_SOURCE
|
||
|
)
|
||
|
endif()
|
||
|
endmacro()
|