mirror of
https://github.com/arun11299/cpp-subprocess.git
synced 2025-08-05 12:56:23 -04:00
Improve CMake setup
This commit configures and installs CMake metadata files. This also provides the namespaced ALIAS target `cpp-subprocess::subprocess`.
This commit is contained in:
parent
cbb57fff5f
commit
7b63681cc2
@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
project(subprocess VERSION 0.1.0 LANGUAGES CXX)
|
||||
project(subprocess VERSION 2.2 LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard to use")
|
||||
option(EXPORT_COMPILE_COMMANDS "create clang compile database" ON)
|
||||
@ -13,12 +13,48 @@ target_link_libraries(subprocess INTERFACE Threads::Threads)
|
||||
target_sources(subprocess PUBLIC
|
||||
FILE_SET HEADERS
|
||||
FILES
|
||||
subprocess/subprocess.hpp
|
||||
cpp-subprocess/subprocess.hpp
|
||||
BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
)
|
||||
add_library(cpp-subprocess::subprocess ALIAS subprocess)
|
||||
|
||||
if(SUBPROCESS_INSTALL)
|
||||
install(FILES subprocess.hpp DESTINATION include/cpp-subprocess/)
|
||||
install(
|
||||
TARGETS subprocess COMPONENT subprocess
|
||||
EXPORT subprocess
|
||||
FILE_SET HEADERS DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
)
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
configure_package_config_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/subprocess-config.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/subprocess-config.cmake"
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/subprocess"
|
||||
PATH_VARS PROJECT_NAME PROJECT_VERSION
|
||||
)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/beman.exemplar-version.cmake"
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY ExactVersion
|
||||
)
|
||||
|
||||
install(
|
||||
FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/subprocess-config.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/subprocess-version.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/subprocess"
|
||||
COMPONENT subprocess
|
||||
)
|
||||
|
||||
install(
|
||||
EXPORT subprocess
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/beman.exemplar"
|
||||
NAMESPACE cpp-subprocess::
|
||||
FILE subprocess-targets.cmake
|
||||
COMPONENT subprocess
|
||||
)
|
||||
endif()
|
||||
|
||||
if(SUBPROCESS_TESTS)
|
||||
|
7
cmake/subprocess-config.cmake
Normal file
7
cmake/subprocess-config.cmake
Normal file
@ -0,0 +1,7 @@
|
||||
set(SUBPROCESS_VERSION @PROJECT_VERSION@)
|
||||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake)
|
||||
|
||||
check_required_components(@PROJECT_NAME@)
|
Loading…
x
Reference in New Issue
Block a user