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)
|
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
|
||||||
project(mcl CXX)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
project(mcl LANGUAGES CXX VERSION 0.1.2)
|
||||||
|
|
||||||
# Project options
|
# Project options
|
||||||
option(MCL_WARNINGS_AS_ERRORS "Warnings as errors" ON)
|
option(MCL_WARNINGS_AS_ERRORS "Warnings as errors" ON)
|
||||||
@ -96,3 +98,29 @@ add_subdirectory(src)
|
|||||||
if (TARGET Catch2::Catch2)
|
if (TARGET Catch2::Catch2)
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif()
|
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
|
#pragma once
|
||||||
|
|
||||||
#include "mp/stdint.hpp"
|
#include "mcl/stdint.hpp"
|
||||||
|
|
||||||
namespace mcl {
|
namespace mcl {
|
||||||
|
|
||||||
|
|||||||
@ -56,9 +56,14 @@ add_library(mcl
|
|||||||
../include/mcl/type_traits/is_instance_of_template.hpp
|
../include/mcl/type_traits/is_instance_of_template.hpp
|
||||||
assert.cpp
|
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_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)
|
include(CreateTargetDirectoryGroups)
|
||||||
create_target_directory_groups(mcl)
|
create_target_directory_groups(mcl)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user