build: MP_UNITS_BUILD_AS_SYSTEM_HEADERS restored (but renamed)

This commit is contained in:
Mateusz Pusz
2024-04-24 20:17:39 +02:00
parent e4ea668998
commit 2a05f931e7
4 changed files with 21 additions and 0 deletions

View File

@@ -42,6 +42,8 @@ enable_ccache(BASE_DIR ${PROJECT_SOURCE_DIR})
option(${projectPrefix}DEV_IWYU "Enables include-what-you-use" OFF) option(${projectPrefix}DEV_IWYU "Enables include-what-you-use" OFF)
if(${projectPrefix}DEV_IWYU) if(${projectPrefix}DEV_IWYU)
set(${projectPrefix}BUILD_AS_SYSTEM_HEADERS ON)
include(include-what-you-use) include(include-what-you-use)
enable_iwyu( enable_iwyu(
MAPPING_FILE "${PROJECT_SOURCE_DIR}/.mp-units.imp" MAPPING_FILE "${PROJECT_SOURCE_DIR}/.mp-units.imp"

View File

@@ -223,6 +223,14 @@ tools.build:compiler_executables={"c": "gcc-12", "cpp": "g++-12"}
### CMake options ### CMake options
[`MP_UNITS_BUILD_AS_SYSTEM_HEADERS`](#MP_UNITS_BUILD_AS_SYSTEM_HEADERS){ #MP_UNITS_BUILD_AS_SYSTEM_HEADERS }
: [:octicons-tag-24: 2.2.0][as system headers support] · :octicons-milestone-24: `ON`/`OFF` (Default: `OFF`)
Exports library as system headers.
[as system headers support]: https://github.com/mpusz/mp-units/releases/tag/v2.2.0
[`MP_UNITS_BUILD_CXX_MODULES`](#MP_UNITS_BUILD_CXX_MODULES){ #MP_UNITS_BUILD_CXX_MODULES } [`MP_UNITS_BUILD_CXX_MODULES`](#MP_UNITS_BUILD_CXX_MODULES){ #MP_UNITS_BUILD_CXX_MODULES }
: [:octicons-tag-24: 2.2.0][build_cxx_modules support] · :octicons-milestone-24: `ON`/`OFF` (Default: `OFF`) : [:octicons-tag-24: 2.2.0][build_cxx_modules support] · :octicons-milestone-24: `ON`/`OFF` (Default: `OFF`)

View File

@@ -36,9 +36,16 @@ include(CheckLibcxxInUse)
check_libcxx_in_use(${projectPrefix}LIBCXX) check_libcxx_in_use(${projectPrefix}LIBCXX)
# project build options # project build options
option(${projectPrefix}BUILD_AS_SYSTEM_HEADERS "Exports library as system headers" OFF)
message(STATUS "${projectPrefix}BUILD_AS_SYSTEM_HEADERS: ${${projectPrefix}BUILD_AS_SYSTEM_HEADERS}")
option(${projectPrefix}BUILD_CXX_MODULES "Add C++ modules to the list of default targets" OFF) option(${projectPrefix}BUILD_CXX_MODULES "Add C++ modules to the list of default targets" OFF)
message(STATUS "${projectPrefix}BUILD_CXX_MODULES: ${${projectPrefix}BUILD_CXX_MODULES}") message(STATUS "${projectPrefix}BUILD_CXX_MODULES: ${${projectPrefix}BUILD_CXX_MODULES}")
if(${projectPrefix}BUILD_AS_SYSTEM_HEADERS)
set(${projectPrefix}_AS_SYSTEM SYSTEM)
endif()
# project API settings # project API settings
function(cache_var_values name) function(cache_var_values name)
set_property(CACHE ${projectPrefix}${name} PROPERTY STRINGS ${ARGN}) set_property(CACHE ${projectPrefix}${name} PROPERTY STRINGS ${ARGN})

View File

@@ -70,6 +70,10 @@ function(add_mp_units_module name target_name)
target_sources( target_sources(
${target_name} PUBLIC FILE_SET HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include FILES ${ARG_HEADERS} ${target_name} PUBLIC FILE_SET HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include FILES ${ARG_HEADERS}
) )
target_include_directories(
${target_name} ${${projectPrefix}_AS_SYSTEM} ${${projectPrefix}TARGET_SCOPE}
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>
)
endif() endif()
if(${projectPrefix}BUILD_CXX_MODULES) if(${projectPrefix}BUILD_CXX_MODULES)