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
This commit is contained in:
Alexander Grund
2024-10-04 20:07:11 +02:00
committed by GitHub
parent 1820ae55ef
commit 825f38f5b5

View File

@ -11,6 +11,10 @@ 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