[CMake] Add IDE target for the turtle headers

Allows easier development in e.g. Visual Studio
This commit is contained in:
Alexander Grund 2022-01-25 17:18:11 +01:00
parent cdb4c1494a
commit c910d1db8c
No known key found for this signature in database
GPG key ID: AA48A0760367A42B

View file

@ -21,7 +21,8 @@ endif()
find_package(Boost 1.58 REQUIRED) find_package(Boost 1.58 REQUIRED)
set(MOCK_VERSION "\"${PROJECT_VERSION}\"") set(MOCK_VERSION "\"${PROJECT_VERSION}\"")
configure_file(version.hpp.cmake ${CMAKE_CURRENT_BINARY_DIR}/include/turtle/version.hpp @ONLY) set(_turtleVersionFile ${CMAKE_CURRENT_BINARY_DIR}/include/turtle/version.hpp)
configure_file(version.hpp.cmake ${_turtleVersionFile} @ONLY)
add_library(turtle INTERFACE) add_library(turtle INTERFACE)
add_library(turtle::turtle ALIAS turtle) add_library(turtle::turtle ALIAS turtle)
@ -30,6 +31,14 @@ target_compile_features(turtle INTERFACE cxx_std_14)
target_link_libraries(turtle INTERFACE Boost::boost Boost::disable_autolinking) target_link_libraries(turtle INTERFACE Boost::boost Boost::disable_autolinking)
if(NOT CMAKE_VERSION VERSION_LESS 3.19)
file(GLOB _turtleHeaders include/turtle/*.hpp)
file(GLOB _turtleHeadersDetail include/turtle/detail/*.hpp)
source_group(turtle FILES ${_turtleHeaders} ${_turtleVersionFile})
source_group(turtle/detail FILES ${_turtleHeadersDetail})
target_sources(turtle PRIVATE ${_turtleHeaders} ${_turtleVersionFile} ${_turtleHeadersDetail})
endif()
if(BUILD_TESTING) if(BUILD_TESTING)
add_subdirectory(test) add_subdirectory(test)
endif() endif()