mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-18 20:30:33 -05:00
Revert the changes from commita2a90f41e3(Tests: require C++14 for the Tutorial, 2019-03-21, v3.15.0-rc1~41^2~2) for the content in its new home. In commitd50b31be35(Clang: For MSVC ABI do not use modes older than C++14, 2019-07-23) we fixed the C++ standard selection for GNU-like Clang with the MSVC ABI so the test code itself no longer needs to do it. In particular, changing the tests in this way broke the tutorial's narrative.
52 lines
1.4 KiB
CMake
52 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.3)
|
|
|
|
if(NOT DEFINED CMAKE_CXX_STANDARD)
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|
endif()
|
|
|
|
|
|
function(find_external_dependency name)
|
|
set(${name}_ROOT "" CACHE PATH "Root directory to find ${name}")
|
|
mark_as_advanced(${name}_DIR)
|
|
find_package(${name} PATHS ${${name}_ROOT} REQUIRED)
|
|
endfunction()
|
|
|
|
|
|
project(Consumer)
|
|
|
|
find_external_dependency(MathFunctions)
|
|
|
|
add_library(consumer consumer.cxx)
|
|
target_link_libraries(consumer PUBLIC MathFunctions)
|
|
|
|
# install the consumer library
|
|
install(TARGETS consumer DESTINATION bin EXPORT ConsumerTargets)
|
|
|
|
# install the configuration targets
|
|
install(EXPORT ConsumerTargets
|
|
FILE ConsumerTargets.cmake
|
|
DESTINATION lib/cmake/Consumer
|
|
)
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
# generate the config file that is includes the exports
|
|
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
|
"${CMAKE_CURRENT_BINARY_DIR}/ConsumerConfig.cmake"
|
|
INSTALL_DESTINATION "lib/cmake/example"
|
|
NO_SET_AND_CHECK_MACRO
|
|
NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
|
)
|
|
|
|
# install the configuration file
|
|
install(FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/ConsumerConfig.cmake
|
|
DESTINATION lib/cmake/Consumer
|
|
)
|
|
|
|
# generate the export targets for the build tree
|
|
# needs to be after the install(TARGETS ) command
|
|
export(EXPORT ConsumerTargets
|
|
FILE "${CMAKE_CURRENT_BINARY_DIR}/ConsumerTargets.cmake"
|
|
)
|