first commit
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(tesses_cpu_arch VERSION 1.0.0 LANGUAGES C)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# ---- Header-only library ----
|
||||
add_library(tesses_cpu_arch INTERFACE)
|
||||
add_library(tesses::cpu_arch ALIAS tesses_cpu_arch)
|
||||
|
||||
target_include_directories(tesses_cpu_arch INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
)
|
||||
|
||||
# ---- App (optional) ----
|
||||
option(TESSES_CPU_ARCH_BUILD_APP "Build the test app" ON)
|
||||
|
||||
if(TESSES_CPU_ARCH_BUILD_APP)
|
||||
add_executable(tcpuarch main.c)
|
||||
target_link_libraries(tcpuarch PRIVATE tesses::cpu_arch)
|
||||
install(TARGETS tcpuarch DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
endif()
|
||||
|
||||
# ---- Install ----
|
||||
install(FILES include/tesses_cpu_arch.h
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
|
||||
install(TARGETS tesses_cpu_arch
|
||||
EXPORT tesses_cpu_arch-targets
|
||||
)
|
||||
|
||||
# ---- CMake package config (for find_package / FetchContent) ----
|
||||
install(EXPORT tesses_cpu_arch-targets
|
||||
FILE tesses_cpu_arch-targets.cmake
|
||||
NAMESPACE tesses::
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tesses_cpu_arch"
|
||||
)
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
configure_package_config_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tesses_cpu_archConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tesses_cpu_archConfig.cmake
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tesses_cpu_arch"
|
||||
)
|
||||
|
||||
write_basic_package_version_file(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tesses_cpu_archConfigVersion.cmake
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tesses_cpu_archConfig.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tesses_cpu_archConfigVersion.cmake
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tesses_cpu_arch"
|
||||
)
|
||||
Reference in New Issue
Block a user