# # 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()