apply another (upstream) patch to fix cmake exported files [release 0.7.0-3mamba;Wed Aug 24 2022]
This commit is contained in:
parent
c950ce50a7
commit
f10a9ba7a3
@ -1,27 +0,0 @@
|
||||
From 4f48727b365962e31451cd91027bd797bc7d2ee7 Mon Sep 17 00:00:00 2001
|
||||
From: Artturin <Artturin@artturin.com>
|
||||
Date: Tue, 28 Sep 2021 00:11:04 +0300
|
||||
Subject: [PATCH] yaml-cpp-config.cmake.in: apply patch to fix #774
|
||||
|
||||
From https://github.com/jbeder/yaml-cpp/issues/774#issuecomment-909274732
|
||||
---
|
||||
yaml-cpp-config.cmake.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in
|
||||
index 7b41e3f30..de0981df9 100644
|
||||
--- a/yaml-cpp-config.cmake.in
|
||||
+++ b/yaml-cpp-config.cmake.in
|
||||
@@ -5,10 +5,10 @@
|
||||
|
||||
# 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@")
|
||||
+get_target_property(YAML_CPP_INCLUDE_DIR yaml-cpp INTERFACE_INCLUDE_DIRECTORIES)
|
||||
+get_target_property(YAML_CPP_LIBRARIES yaml-cpp IMPORTED_LOCATION_RELEASE)
|
110
yaml-cpp-0.7.0-fix-cmake-export-files.patch
Normal file
110
yaml-cpp-0.7.0-fix-cmake-export-files.patch
Normal file
@ -0,0 +1,110 @@
|
||||
From 4aad2b1666a4742743b04e765a34742512915674 Mon Sep 17 00:00:00 2001
|
||||
From: Felix Schwitzer <flx107809@gmail.com>
|
||||
Date: Fri, 1 Apr 2022 05:26:47 +0200
|
||||
Subject: [PATCH] Fix CMake export files (#1077)
|
||||
|
||||
After configuring the file `yaml-cpp-config.cmake.in`, the result ends up with
|
||||
empty variables. (see also the discussion in #774).
|
||||
|
||||
Rework this file and the call to `configure_package_config_file` according the
|
||||
cmake documentation
|
||||
(https://cmake.org/cmake/help/v3.22/module/CMakePackageConfigHelpers.html?highlight=configure_package_config#command:configure_package_config_file)
|
||||
to overcome this issue and allow a simple `find_package` after install.
|
||||
|
||||
As there was some discussion about the place where to install the
|
||||
`yaml-cpp-config.cmake` file, e.g. #1055, factor out the install location into
|
||||
an extra variable to make it easier changing this location in the future.
|
||||
|
||||
Also untabify CMakeLists.txt in some places to align with the other code parts in this file.
|
||||
---
|
||||
CMakeLists.txt | 29 ++++++++++++++++++-----------
|
||||
yaml-cpp-config.cmake.in | 10 ++++++----
|
||||
2 files changed, 24 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 564b7c8d1..ccc1964ea 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -133,10 +133,16 @@ set_target_properties(yaml-cpp PROPERTIES
|
||||
PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}"
|
||||
DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
|
||||
|
||||
+# FIXME(felix2012): A more common place for the cmake export would be
|
||||
+# `CMAKE_INSTALL_LIBDIR`, as e.g. done in ubuntu or in this project for GTest
|
||||
+set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
|
||||
+set(EXPORT_TARGETS yaml-cpp)
|
||||
configure_package_config_file(
|
||||
"${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in"
|
||||
"${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
|
||||
- INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
|
||||
+ INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}"
|
||||
+ PATH_VARS CMAKE_INSTALL_INCLUDEDIR CONFIG_EXPORT_DIR)
|
||||
+unset(EXPORT_TARGETS)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
|
||||
@@ -145,30 +151,31 @@ write_basic_package_version_file(
|
||||
configure_file(yaml-cpp.pc.in yaml-cpp.pc @ONLY)
|
||||
|
||||
if (YAML_CPP_INSTALL)
|
||||
- install(TARGETS yaml-cpp
|
||||
+ install(TARGETS yaml-cpp
|
||||
EXPORT yaml-cpp-targets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
|
||||
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
- FILES_MATCHING PATTERN "*.h")
|
||||
+ FILES_MATCHING PATTERN "*.h")
|
||||
install(EXPORT yaml-cpp-targets
|
||||
- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
|
||||
- install(FILES
|
||||
- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
|
||||
- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
|
||||
- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
|
||||
+ DESTINATION "${CONFIG_EXPORT_DIR}")
|
||||
+ install(FILES
|
||||
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
|
||||
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
|
||||
+ DESTINATION "${CONFIG_EXPORT_DIR}")
|
||||
install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc"
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
|
||||
endif()
|
||||
+unset(CONFIG_EXPORT_DIR)
|
||||
|
||||
if(YAML_CPP_BUILD_TESTS)
|
||||
- add_subdirectory(test)
|
||||
+ add_subdirectory(test)
|
||||
endif()
|
||||
|
||||
if(YAML_CPP_BUILD_TOOLS)
|
||||
- add_subdirectory(util)
|
||||
+ add_subdirectory(util)
|
||||
endif()
|
||||
|
||||
if (YAML_CPP_CLANG_FORMAT_EXE)
|
||||
diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in
|
||||
index 7b41e3f30..a7ace3dc0 100644
|
||||
--- a/yaml-cpp-config.cmake.in
|
||||
+++ b/yaml-cpp-config.cmake.in
|
||||
@@ -3,12 +3,14 @@
|
||||
# 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@")
|
||||
+@PACKAGE_INIT@
|
||||
+
|
||||
+set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||
|
||||
# Our library dependencies (contains definitions for IMPORTED targets)
|
||||
-include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake")
|
||||
+include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake)
|
||||
|
||||
# These are IMPORTED targets created by yaml-cpp-targets.cmake
|
||||
set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@")
|
||||
+
|
||||
+check_required_components(@EXPORT_TARGETS@)
|
@ -1,6 +1,6 @@
|
||||
Name: yaml-cpp
|
||||
Version: 0.7.0
|
||||
Release: 2mamba
|
||||
Release: 3mamba
|
||||
Summary: A YAML parser and emitter in C++ matching the YAML 1.2 spec
|
||||
Group: Development/Tools
|
||||
Vendor: openmamba
|
||||
@ -8,7 +8,7 @@ Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: https://github.com/jbeder/yaml-cpp
|
||||
Source: https://github.com/jbeder/yaml-cpp.git/yaml-cpp-%{version}/yaml-cpp-%{version}.tar.bz2
|
||||
Patch0: yaml-cpp-0.7.0-fix-broken-cmake-targets.patch
|
||||
Patch0: yaml-cpp-0.7.0-fix-cmake-export-files.patch
|
||||
License: MIT
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
@ -43,7 +43,7 @@ This package contains libraries and header files for developing applications tha
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .fix-broken-cmake-targets
|
||||
%patch0 -p1 -b .fix-cmake-export-files
|
||||
|
||||
%build
|
||||
%cmake -d build \
|
||||
@ -82,6 +82,9 @@ This package contains libraries and header files for developing applications tha
|
||||
%{_datadir}/cmake/yaml-cpp/yaml-cpp*.cmake
|
||||
|
||||
%changelog
|
||||
* Wed Aug 24 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 0.7.0-3mamba
|
||||
- apply another (upstream) patch to fix cmake exported files
|
||||
|
||||
* Tue Aug 23 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 0.7.0-2mamba
|
||||
- added a patch to fix broken cmake targets
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user