mirror of https://github.com/AxioDL/lzokay.git
Adding install commands and cmake build config file support
This commit is contained in:
parent
f7da328248
commit
87467048df
|
@ -1,6 +1,54 @@
|
||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(lzokay)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
project(lzokay VERSION 0.1 LANGUAGES CXX)
|
||||||
add_library(lzokay lzokay.hpp lzokay.cpp)
|
add_library(lzokay lzokay.hpp lzokay.cpp)
|
||||||
set(LZOKAY_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "lzokay include path" FORCE)
|
set(LZOKAY_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "lzokay include path" FORCE)
|
||||||
add_executable(lzokaytest test.cpp)
|
add_executable(lzokaytest test.cpp)
|
||||||
target_link_libraries(lzokaytest lzokay)
|
target_link_libraries(lzokaytest lzokay)
|
||||||
|
set_target_properties(lzokay lzokaytest PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
# Set installation for headers
|
||||||
|
install(
|
||||||
|
FILES "${PROJECT_SOURCE_DIR}/lzokay.hpp"
|
||||||
|
DESTINATION "include/lzokay"
|
||||||
|
)
|
||||||
|
|
||||||
|
set(version_config_file "${PROJECT_BINARY_DIR}/lzokayConfigVersion.cmake")
|
||||||
|
set(config_file "${PROJECT_BINARY_DIR}/lzokayConfig.cmake")
|
||||||
|
set(config_install_dir "lib/cmake/lzokay")
|
||||||
|
|
||||||
|
# Associate target with export
|
||||||
|
install(
|
||||||
|
TARGETS lzokay
|
||||||
|
EXPORT lzokayTargets
|
||||||
|
ARCHIVE DESTINATION "lib"
|
||||||
|
INCLUDES DESTINATION "include/lzokay" # This sets the INTERFACE_INCLUDE_DIRECTORIES property of the target.
|
||||||
|
)
|
||||||
|
|
||||||
|
# Install the target config files
|
||||||
|
install(
|
||||||
|
EXPORT lzokayTargets
|
||||||
|
NAMESPACE "lzokay::"
|
||||||
|
DESTINATION "${config_install_dir}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Generate version config file
|
||||||
|
write_basic_package_version_file(
|
||||||
|
"${version_config_file}"
|
||||||
|
COMPATIBILITY SameMajorVersion
|
||||||
|
)
|
||||||
|
|
||||||
|
# Generate config file
|
||||||
|
configure_package_config_file(
|
||||||
|
"Config.cmake.in"
|
||||||
|
"${config_file}"
|
||||||
|
INSTALL_DESTINATION "lib/cmake/lzokay"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Install the config files
|
||||||
|
install(
|
||||||
|
FILES "${config_file}" "${version_config_file}"
|
||||||
|
DESTINATION ${config_install_dir}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/lzokayTargets.cmake")
|
||||||
|
check_required_components(lzokay)
|
Loading…
Reference in New Issue