common_w32res.rc: White space edits
[xz/debian.git] / cmake / tuklib_common.cmake
bloba7f101fa836ee18abf8e5c9af6a8c7b7d7ff50b3
1 # SPDX-License-Identifier: 0BSD
3 #############################################################################
5 # tuklib_common.cmake - common functions and macros for tuklib_*.cmake files
7 # Author: Lasse Collin
9 #############################################################################
11 function(tuklib_add_definitions TARGET_OR_ALL DEFINITIONS)
12     # DEFINITIONS may be an empty string/list but it's fine here. There is
13     # no need to quote ${DEFINITIONS} as empty arguments are fine here.
14     if(TARGET_OR_ALL STREQUAL "ALL")
15         add_compile_definitions(${DEFINITIONS})
16     else()
17         target_compile_definitions("${TARGET_OR_ALL}" PRIVATE ${DEFINITIONS})
18     endif()
19 endfunction()
21 function(tuklib_add_definition_if TARGET_OR_ALL VAR)
22     if(${VAR})
23         tuklib_add_definitions("${TARGET_OR_ALL}" "${VAR}")
24     endif()
25 endfunction()
27 # This is an over-simplified version of AC_USE_SYSTEM_EXTENSIONS in Autoconf
28 # or gl_USE_SYSTEM_EXTENSIONS in gnulib.
29 macro(tuklib_use_system_extensions TARGET_OR_ALL)
30     if(NOT WIN32)
31         # FIXME? The Solaris-specific __EXTENSIONS__ should be conditional
32         #        even on Solaris. See gnulib: git log m4/extensions.m4.
33         # FIXME? gnulib and autoconf.git has lots of new stuff.
34         tuklib_add_definitions("${TARGET_OR_ALL}"
35             _GNU_SOURCE
36             __EXTENSIONS__
37             _POSIX_PTHREAD_SEMANTICS
38             _TANDEM_SOURCE
39             _ALL_SOURCE
40         )
42         list(APPEND CMAKE_REQUIRED_DEFINITIONS
43             -D_GNU_SOURCE
44             -D__EXTENSIONS__
45             -D_POSIX_PTHREAD_SEMANTICS
46             -D_TANDEM_SOURCE
47             -D_ALL_SOURCE
48         )
49     endif()
50 endmacro()