mirror of
https://github.com/mpusz/mp-units.git
synced 2025-07-30 18:37:15 +02:00
build: MP_UNITS_BUILD_AS_SYSTEM_HEADERS
restored (but renamed)
This commit is contained in:
@ -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"
|
||||||
|
@ -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`)
|
||||||
|
@ -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})
|
||||||
|
@ -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)
|
||||||
|
Reference in New Issue
Block a user