mirror of
https://github.com/BlackMATov/meta.hpp.git
synced 2025-12-13 11:17:06 +07:00
74 lines
2.1 KiB
CMake
74 lines
2.1 KiB
CMake
option(BUILD_WITH_COVERAGE "Build with coverage" OFF)
|
|
option(BUILD_WITH_SANITIZERS "Build with sanitizers" OFF)
|
|
option(BUILD_WITH_NO_EXCEPTIONS "Build with no exceptions" ${META_HPP_NO_EXCEPTIONS})
|
|
option(BUILD_WITH_NO_RTTI "Build with no RTTI" ${META_HPP_NO_RTTI})
|
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake")
|
|
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
|
|
include(DisableExceptions)
|
|
include(DisableRTTI)
|
|
include(EnableASan)
|
|
include(EnableGCov)
|
|
include(EnableUBSan)
|
|
include(SetupTargets)
|
|
|
|
add_subdirectory(doxygen)
|
|
add_subdirectory(manuals)
|
|
add_subdirectory(singles)
|
|
add_subdirectory(unbench)
|
|
add_subdirectory(unshared)
|
|
add_subdirectory(untests)
|
|
add_subdirectory(vendors)
|
|
|
|
#
|
|
# install
|
|
#
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
include(GNUInstallDirs)
|
|
|
|
set(META_HPP_INSTALL_CONFIG_DIR
|
|
"${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
|
|
|
set(META_HPP_INSTALL_CONFIG_INPUT
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in")
|
|
|
|
set(META_HPP_INSTALL_GENERATED_CONFIG_CMAKE
|
|
"${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config.cmake")
|
|
|
|
set(META_HPP_INSTALL_GENERATED_CONFIG_VERSION_CMAKE
|
|
"${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config-version.cmake")
|
|
|
|
configure_package_config_file(
|
|
"${META_HPP_INSTALL_CONFIG_INPUT}"
|
|
"${META_HPP_INSTALL_GENERATED_CONFIG_CMAKE}"
|
|
INSTALL_DESTINATION "${META_HPP_INSTALL_CONFIG_DIR}"
|
|
NO_SET_AND_CHECK_MACRO)
|
|
|
|
write_basic_package_version_file(
|
|
"${META_HPP_INSTALL_GENERATED_CONFIG_VERSION_CMAKE}"
|
|
VERSION ${PROJECT_VERSION}
|
|
COMPATIBILITY AnyNewerVersion
|
|
ARCH_INDEPENDENT)
|
|
|
|
install(
|
|
TARGETS ${PROJECT_NAME}
|
|
EXPORT ${PROJECT_NAME}-targets)
|
|
|
|
install(
|
|
DIRECTORY singles/headers/${PROJECT_NAME}
|
|
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
|
|
install(
|
|
EXPORT ${PROJECT_NAME}-targets
|
|
FILE ${PROJECT_NAME}-targets.cmake
|
|
NAMESPACE ${PROJECT_NAME}::
|
|
DESTINATION "${META_HPP_INSTALL_CONFIG_DIR}")
|
|
|
|
install(
|
|
FILES "${META_HPP_INSTALL_GENERATED_CONFIG_CMAKE}"
|
|
"${META_HPP_INSTALL_GENERATED_CONFIG_VERSION_CMAKE}"
|
|
DESTINATION "${META_HPP_INSTALL_CONFIG_DIR}")
|