diff --git a/CMakeLists.txt b/CMakeLists.txt index fe6b2a4..6c41335 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -302,6 +302,18 @@ install( FILES_MATCHING PATTERN "*.h" ) +export( + TARGETS yaml-cpp + FILE "${PROJECT_BINARY_DIR}/yaml-cpp-targets.cmake") +export(PACKAGE yaml-cpp) +set(EXPORT_TARGETS yaml-cpp CACHE INTERNAL "export targets") + +set(CONFIG_INCLUDE_DIRS "${YAML_CPP_SOURCE_DIR}/include") +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp-config.cmake.in + "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" @ONLY) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp-config-version.cmake.in + "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" @ONLY) + if(UNIX) set(PC_FILE ${CMAKE_BINARY_DIR}/yaml-cpp.pc) configure_file("yaml-cpp.pc.cmake" ${PC_FILE} @ONLY) diff --git a/yaml-cpp-config-version.cmake.in b/yaml-cpp-config-version.cmake.in new file mode 100644 index 0000000..80b9c79 --- /dev/null +++ b/yaml-cpp-config-version.cmake.in @@ -0,0 +1,11 @@ +set(PACKAGE_VERSION "@YAML_CPP_VERSION@") + +# Check whether the requested PACKAGE_FIND_VERSION is compatible +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in new file mode 100644 index 0000000..7b41e3f --- /dev/null +++ b/yaml-cpp-config.cmake.in @@ -0,0 +1,14 @@ +# - Config file for the yaml-cpp package +# It defines the following variables +# YAML_CPP_INCLUDE_DIR - include directory +# YAML_CPP_LIBRARIES - libraries to link against + +# Compute paths +get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@") + +# Our library dependencies (contains definitions for IMPORTED targets) +include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake") + +# These are IMPORTED targets created by yaml-cpp-targets.cmake +set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@")