Compare commits
No commits in common. "c1e42eb820bfa8994c973444fddb29c56f438def" and "c7b75beec367d3bfe43c0492e9dc25a0ae80f353" have entirely different histories.
c1e42eb820
...
c7b75beec3
Binary file not shown.
@ -1,245 +0,0 @@
|
|||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index b230b9e..6ef6e8a 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -9,33 +9,39 @@ endif()
|
|
||||||
|
|
||||||
project(YAML_CPP VERSION 0.7.0 LANGUAGES CXX)
|
|
||||||
|
|
||||||
+set(YAML_CPP_MAIN_PROJECT OFF)
|
|
||||||
+if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|
||||||
+ set(YAML_CPP_MAIN_PROJECT ON)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
include(CMakePackageConfigHelpers)
|
|
||||||
include(CMakeDependentOption)
|
|
||||||
include(CheckCXXCompilerFlag)
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
include(CTest)
|
|
||||||
|
|
||||||
-find_program(YAML_CPP_CLANG_FORMAT_EXE NAMES clang-format)
|
|
||||||
-
|
|
||||||
option(YAML_CPP_BUILD_CONTRIB "Enable yaml-cpp contrib in library" ON)
|
|
||||||
option(YAML_CPP_BUILD_TOOLS "Enable parse tools" ON)
|
|
||||||
option(YAML_BUILD_SHARED_LIBS "Build yaml-cpp shared library" ${BUILD_SHARED_LIBS})
|
|
||||||
-
|
|
||||||
+option(YAML_CPP_INSTALL "Enable generation of yaml-cpp install targets" ${YAML_CPP_MAIN_PROJECT})
|
|
||||||
+option(YAML_CPP_FORMAT_SOURCE "Format source" ON)
|
|
||||||
cmake_dependent_option(YAML_CPP_BUILD_TESTS
|
|
||||||
- "Enable yaml-cpp tests" ON
|
|
||||||
- "BUILD_TESTING;CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
|
|
||||||
-cmake_dependent_option(YAML_CPP_INSTALL
|
|
||||||
- "Enable generation of yaml-cpp install targets" ON
|
|
||||||
- "CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
|
|
||||||
+ "Enable yaml-cpp tests" OFF
|
|
||||||
+ "BUILD_TESTING;YAML_CPP_MAIN_PROJECT" OFF)
|
|
||||||
cmake_dependent_option(YAML_MSVC_SHARED_RT
|
|
||||||
"MSVC: Build yaml-cpp with shared runtime libs (/MD)" ON
|
|
||||||
- "MSVC" OFF)
|
|
||||||
+ "CMAKE_SYSTEM_NAME MATCHES Windows" OFF)
|
|
||||||
+
|
|
||||||
+if (YAML_CPP_FORMAT_SOURCE)
|
|
||||||
+ find_program(YAML_CPP_CLANG_FORMAT_EXE NAMES clang-format)
|
|
||||||
+endif()
|
|
||||||
|
|
||||||
-set(yaml-cpp-type STATIC)
|
|
||||||
-set(yaml-cpp-label-postfix "static")
|
|
||||||
if (YAML_BUILD_SHARED_LIBS)
|
|
||||||
set(yaml-cpp-type SHARED)
|
|
||||||
set(yaml-cpp-label-postfix "shared")
|
|
||||||
+else()
|
|
||||||
+ set(yaml-cpp-type STATIC)
|
|
||||||
+ set(yaml-cpp-label-postfix "static")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(build-shared $<BOOL:${YAML_BUILD_SHARED_LIBS}>)
|
|
||||||
@@ -78,6 +84,10 @@ set_property(TARGET yaml-cpp
|
|
||||||
PROPERTY
|
|
||||||
CXX_STANDARD_REQUIRED ON)
|
|
||||||
|
|
||||||
+if (NOT YAML_BUILD_SHARED_LIBS)
|
|
||||||
+ set_property(TARGET yaml-cpp PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
target_include_directories(yaml-cpp
|
|
||||||
PUBLIC
|
|
||||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
|
|
||||||
@@ -91,11 +101,15 @@ if (NOT DEFINED CMAKE_CXX_STANDARD)
|
|
||||||
CXX_STANDARD 11)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
+if(YAML_CPP_MAIN_PROJECT)
|
|
||||||
+ target_compile_options(yaml-cpp
|
|
||||||
+ PRIVATE
|
|
||||||
+ $<${not-msvc}:-Wall -Wextra -Wshadow -Weffc++ -Wno-long-long>
|
|
||||||
+ $<${not-msvc}:-pedantic -pedantic-errors>)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
target_compile_options(yaml-cpp
|
|
||||||
PRIVATE
|
|
||||||
- $<${not-msvc}:-Wall -Wextra -Wshadow -Weffc++ -Wno-long-long>
|
|
||||||
- $<${not-msvc}:-pedantic -pedantic-errors>
|
|
||||||
-
|
|
||||||
$<$<AND:${backport-msvc-runtime},${msvc-rt-mtd-static}>:-MTd>
|
|
||||||
$<$<AND:${backport-msvc-runtime},${msvc-rt-mt-static}>:-MT>
|
|
||||||
$<$<AND:${backport-msvc-runtime},${msvc-rt-mtd-dll}>:-MDd>
|
|
||||||
@@ -108,6 +122,8 @@ target_compile_options(yaml-cpp
|
|
||||||
$<$<CXX_COMPILER_ID:MSVC>:/W3 /wd4127 /wd4355>)
|
|
||||||
|
|
||||||
target_compile_definitions(yaml-cpp
|
|
||||||
+ PUBLIC
|
|
||||||
+ $<$<NOT:$<BOOL:${YAML_BUILD_SHARED_LIBS}>>:YAML_CPP_STATIC_DEFINE>
|
|
||||||
PRIVATE
|
|
||||||
$<${build-windows-dll}:${PROJECT_NAME}_DLL>
|
|
||||||
$<$<NOT:$<BOOL:${YAML_CPP_BUILD_CONTRIB}>>:YAML_CPP_NO_CONTRIB>)
|
|
||||||
@@ -127,10 +143,14 @@ set_target_properties(yaml-cpp PROPERTIES
|
|
||||||
PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}"
|
|
||||||
DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
|
|
||||||
|
|
||||||
+set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_LIBDIR}/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 CMAKE_INSTALL_LIBDIR CONFIG_EXPORT_DIR YAML_BUILD_SHARED_LIBS)
|
|
||||||
+unset(EXPORT_TARGETS)
|
|
||||||
|
|
||||||
write_basic_package_version_file(
|
|
||||||
"${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
|
|
||||||
@@ -139,36 +159,48 @@ 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)
|
|
||||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/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)
|
|
||||||
+if (YAML_CPP_FORMAT_SOURCE AND YAML_CPP_CLANG_FORMAT_EXE)
|
|
||||||
add_custom_target(format
|
|
||||||
COMMAND clang-format --style=file -i $<TARGET_PROPERTY:yaml-cpp,SOURCES>
|
|
||||||
COMMAND_EXPAND_LISTS
|
|
||||||
COMMENT "Running clang-format"
|
|
||||||
VERBATIM)
|
|
||||||
endif()
|
|
||||||
+
|
|
||||||
+# uninstall target
|
|
||||||
+if(NOT TARGET uninstall)
|
|
||||||
+ configure_file(
|
|
||||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
|
|
||||||
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
|
||||||
+ IMMEDIATE @ONLY)
|
|
||||||
+
|
|
||||||
+ add_custom_target(uninstall
|
|
||||||
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
|
||||||
+endif()
|
|
||||||
diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..c2d34d4
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/cmake_uninstall.cmake.in
|
|
||||||
@@ -0,0 +1,21 @@
|
|
||||||
+if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
|
|
||||||
+ message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt")
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
|
|
||||||
+string(REGEX REPLACE "\n" ";" files "${files}")
|
|
||||||
+foreach(file ${files})
|
|
||||||
+ message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
|
||||||
+ if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
|
||||||
+ exec_program(
|
|
||||||
+ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
|
||||||
+ OUTPUT_VARIABLE rm_out
|
|
||||||
+ RETURN_VALUE rm_retval
|
|
||||||
+ )
|
|
||||||
+ if(NOT "${rm_retval}" STREQUAL 0)
|
|
||||||
+ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
|
||||||
+ endif()
|
|
||||||
+ else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
|
||||||
+ message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
|
||||||
+ endif()
|
|
||||||
+endforeach()
|
|
||||||
diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in
|
|
||||||
index 7b41e3f..799b9b4 100644
|
|
||||||
--- a/yaml-cpp-config.cmake.in
|
|
||||||
+++ b/yaml-cpp-config.cmake.in
|
|
||||||
@@ -1,14 +1,22 @@
|
|
||||||
# - 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
|
|
||||||
+# YAML_CPP_INCLUDE_DIR - include directory
|
|
||||||
+# YAML_CPP_LIBRARY_DIR - directory containing libraries
|
|
||||||
+# YAML_CPP_SHARED_LIBS_BUILT - whether we have built shared libraries or not
|
|
||||||
+# 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@")
|
|
||||||
+set_and_check(YAML_CPP_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
|
||||||
+
|
|
||||||
+# Are we building shared libraries?
|
|
||||||
+set(YAML_CPP_SHARED_LIBS_BUILT "@PACKAGE_YAML_BUILD_SHARED_LIBS@")
|
|
||||||
|
|
||||||
# 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@)
|
|
||||||
diff --git a/yaml-cpp.pc.in b/yaml-cpp.pc.in
|
|
||||||
index f713de6..d02dc9e 100644
|
|
||||||
--- a/yaml-cpp.pc.in
|
|
||||||
+++ b/yaml-cpp.pc.in
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
prefix=@CMAKE_INSTALL_PREFIX@
|
|
||||||
exec_prefix=${prefix}
|
|
||||||
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
|
||||||
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
|
|
||||||
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
|
||||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
|
||||||
|
|
||||||
Name: Yaml-cpp
|
|
||||||
Description: A YAML parser and emitter for C++
|
|
||||||
@ -1,84 +0,0 @@
|
|||||||
Name: yaml-cpp
|
|
||||||
Version: 0.7.0
|
|
||||||
Release: 2
|
|
||||||
Summary: A YAML parser and emitter in C++.
|
|
||||||
License: MIT
|
|
||||||
URL: https://github.com/jbeder/yaml-cpp
|
|
||||||
Source0: https://github.com/jbeder/yaml-cpp/archive/%{name}-%{version}.tar.gz
|
|
||||||
Patch0001: yaml-cpp-cmake.patch
|
|
||||||
BuildRequires: cmake gcc gcc-c++
|
|
||||||
|
|
||||||
%description
|
|
||||||
yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec.
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development files for yaml-cpp
|
|
||||||
Requires: yaml-cpp = %{version}-%{release} boost-devel pkgconfig
|
|
||||||
Provides: yaml-cpp-static = %{version}-%{release}
|
|
||||||
Obsoletes: yaml-cpp-static < %{version}-%{release}
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package contains libraries and header files for developing applications that use yaml-cpp.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -n %{name}-%{name}-%{version} -p1
|
|
||||||
|
|
||||||
%build
|
|
||||||
%cmake -B build_static \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DYAML_CPP_BUILD_TOOLS:BOOL=OFF \
|
|
||||||
-DYAML_CPP_FORMAT_SOURCE:BOOL=OFF \
|
|
||||||
-DYAML_CPP_INSTALL:BOOL=ON \
|
|
||||||
-DYAML_BUILD_SHARED_LIBS:BOOL=OFF \
|
|
||||||
-DYAML_CPP_BUILD_TESTS:BOOL=OFF
|
|
||||||
%make_build -C build_static
|
|
||||||
|
|
||||||
%cmake -B build_shared \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DYAML_CPP_BUILD_TOOLS:BOOL=OFF \
|
|
||||||
-DYAML_CPP_FORMAT_SOURCE:BOOL=OFF \
|
|
||||||
-DYAML_CPP_INSTALL:BOOL=ON \
|
|
||||||
-DYAML_BUILD_SHARED_LIBS:BOOL=ON \
|
|
||||||
-DYAML_CPP_BUILD_TESTS:BOOL=OFF
|
|
||||||
%make_build -C build_shared
|
|
||||||
|
|
||||||
%install
|
|
||||||
%make_install -C build_static yaml-cpp
|
|
||||||
|
|
||||||
# Move files so they don't get trampled
|
|
||||||
mv %{buildroot}%{_libdir}/cmake/%{name} \
|
|
||||||
%{buildroot}%{_libdir}/cmake/%{name}-static
|
|
||||||
mv %{buildroot}%{_libdir}/pkgconfig/%{name}.pc \
|
|
||||||
%{buildroot}%{_libdir}/pkgconfig/%{name}-static.pc
|
|
||||||
|
|
||||||
%make_install -C build_shared
|
|
||||||
|
|
||||||
%post
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%postun
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
|
||||||
%license LICENSE
|
|
||||||
%doc README.md
|
|
||||||
%{_libdir}/*.so.*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_libdir}/*.so
|
|
||||||
%{_libdir}/*.a
|
|
||||||
%{_includedir}/yaml-cpp/
|
|
||||||
%{_libdir}/cmake/
|
|
||||||
%{_libdir}/pkgconfig/
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Tue Sep 05 2023 yaoxin <yao_xin001@hoperun.com> - 0.7.0-2
|
|
||||||
- Fix cmake error of referencing yaml-cpp-devel and remove unused patch
|
|
||||||
|
|
||||||
* Thu Jul 06 2023 yaoxin <yao_xin001@hoperun.com> - 0.7.0-1
|
|
||||||
- Update to 0.7.0
|
|
||||||
- Abi change: libyaml-cpp.so.0.6.3 -> libyaml-cpp.so.0.7.0
|
|
||||||
|
|
||||||
* Mon Jan 6 2020 Senlin Xia<xiasenlin1@huawei.com> - 0.6.3-1
|
|
||||||
- Package init
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
version_control: github
|
|
||||||
src_repo: jbeder/yaml-cpp
|
|
||||||
tag_prefix: yaml-cpp-
|
|
||||||
seperator: .
|
|
||||||
Loading…
x
Reference in New Issue
Block a user