Files
boost_optional/CMakeLists.txt
T
Alexander Grund 825f38f5b5 CML: Create header-only target in IDEs
Since CMake 3.19 it is possible to specify private sources for `INTERFACE` targets. This makes the library turn up like compiled libraries in IDEs such as Visual Studio.

It can also be specified in the `add_library` call but using `target_sources` is more isolated to the CMake version check
2024-10-04 20:07:11 +02:00

36 lines
970 B
CMake

# Generated by `boostdep --cmake optional`
# Copyright 2020, 2021 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt
cmake_minimum_required(VERSION 3.5...3.20)
project(boost_optional VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
add_library(boost_optional INTERFACE)
add_library(Boost::optional ALIAS boost_optional)
target_include_directories(boost_optional INTERFACE include)
if(NOT CMAKE_VERSION VERSION_LESS "3.19")
file(GLOB_RECURSE headers include/*.hpp)
target_sources(boost_optional PRIVATE ${headers})
endif()
target_link_libraries(boost_optional
INTERFACE
Boost::assert
Boost::config
Boost::core
Boost::move
Boost::static_assert
Boost::throw_exception
Boost::type_traits
)
target_compile_features(boost_optional INTERFACE cxx_std_11)
if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
add_subdirectory(test)
endif()