mirror of
https://github.com/azahar-emu/mcl
synced 2025-11-06 15:10:05 +01:00
mcl: Add install instructions behave well with this
This commit is contained in:
parent
8b12832172
commit
215182d9a7
@ -1,5 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
|
||||
project(mcl CXX)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
project(mcl LANGUAGES CXX VERSION 0.1.2)
|
||||
|
||||
# Project options
|
||||
option(MCL_WARNINGS_AS_ERRORS "Warnings as errors" ON)
|
||||
@ -96,3 +98,29 @@ add_subdirectory(src)
|
||||
if (TARGET Catch2::Catch2)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
# Install instructions
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
install(TARGETS mcl EXPORT mclTargets)
|
||||
install(EXPORT mclTargets
|
||||
NAMESPACE merry::
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/mcl"
|
||||
)
|
||||
|
||||
configure_package_config_file(CMakeModules/mclConfig.cmake.in
|
||||
mclConfig.cmake
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/mcl"
|
||||
)
|
||||
write_basic_package_version_file(mclConfigVersion.cmake
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mclConfig.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mclConfigVersion.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/mcl"
|
||||
)
|
||||
|
||||
install(DIRECTORY include/ TYPE INCLUDE FILES_MATCHING PATTERN "*.hpp")
|
||||
|
||||
5
CMakeModules/mclConfig.cmake.in
Normal file
5
CMakeModules/mclConfig.cmake.in
Normal file
@ -0,0 +1,5 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
|
||||
|
||||
check_required_components(@PROJECT_NAME@)
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "mp/stdint.hpp"
|
||||
#include "mcl/stdint.hpp"
|
||||
|
||||
namespace mcl {
|
||||
|
||||
|
||||
@ -56,9 +56,14 @@ add_library(mcl
|
||||
../include/mcl/type_traits/is_instance_of_template.hpp
|
||||
assert.cpp
|
||||
)
|
||||
target_include_directories(mcl PUBLIC ../include/)
|
||||
target_include_directories(mcl
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
)
|
||||
target_compile_options(mcl PRIVATE ${MCL_CXX_FLAGS})
|
||||
target_link_libraries(mcl PUBLIC fmt::fmt)
|
||||
target_link_libraries(mcl PUBLIC $<BUILD_INTERFACE:fmt::fmt>)
|
||||
add_library(merry::mcl ALIAS mcl)
|
||||
|
||||
include(CreateTargetDirectoryGroups)
|
||||
create_target_directory_groups(mcl)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user