[packages/re2] - added cmake configs (for grpc)

qboosh qboosh at pld-linux.org
Sat Sep 26 23:08:46 CEST 2020


commit 70b46817155158ff13cb8dff28d1076d529c7c40
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Sep 26 23:11:38 2020 +0200

    - added cmake configs (for grpc)

 re2.spec               | 10 ++++++
 re2Config-pld.cmake.in | 19 +++++++++++
 re2Config.cmake        | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 117 insertions(+)
---
diff --git a/re2.spec b/re2.spec
index 41f4b1f..df8a3bf 100644
--- a/re2.spec
+++ b/re2.spec
@@ -15,6 +15,8 @@ Group:		Libraries
 #Source0Download: https://github.com/google/re2/releases
 Source0:	https://github.com/google/re2/archive/%{tagver}/%{name}-%{tagver}.tar.gz
 # Source0-md5:	6dbd1d52b21d2d0307495bf075e45d42
+Source1:	re2Config.cmake
+Source2:	re2Config-pld.cmake.in
 Patch0:		test-compile.patch
 URL:		https://github.com/google/re2
 BuildRequires:	libstdc++-devel >= 6:4.7
@@ -81,6 +83,8 @@ Statyczna biblioteka RE2.
 %patch0 -p1
 
 %build
+# cmake doesn't set soname, doesn't install .pc file - still use plain makefiles
+
 # The -pthread flag issue has been submitted upstream:
 # http://groups.google.com/forum/?fromgroups=#!topic/re2-dev/bkUDtO5l6Lo
 %{__make} all %{?with_tests:compile-test} \
@@ -105,6 +109,11 @@ rm -rf $RPM_BUILD_ROOT
 	libdir=%{_libdir} \
 	DESTDIR=$RPM_BUILD_ROOT
 
+# ...but some users require cmake config files, so fake them
+install -d $RPM_BUILD_ROOT%{_libdir}/cmake/re2
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/cmake/re2
+sed -e 's, at libdir@,%{_libdir},' %{SOURCE2} >$RPM_BUILD_ROOT%{_libdir}/cmake/re2/re2Config-pld.cmake
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -123,6 +132,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libre2.so
 %{_includedir}/re2
 %{_pkgconfigdir}/re2.pc
+%{_libdir}/cmake/re2
 
 %if %{with static_libs}
 %files static
diff --git a/re2Config-pld.cmake.in b/re2Config-pld.cmake.in
new file mode 100644
index 0000000..6e8fb37
--- /dev/null
+++ b/re2Config-pld.cmake.in
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------
+# Generated CMake target import file for configuration "PLD".
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Import target "re2::re2" for configuration "PLD"
+set_property(TARGET re2::re2 APPEND PROPERTY IMPORTED_CONFIGURATIONS PLD)
+set_target_properties(re2::re2 PROPERTIES
+  IMPORTED_LOCATION_PLD "@libdir@/libre2.so"
+  IMPORTED_SONAME_PLD "libre2.so"
+  )
+
+list(APPEND _IMPORT_CHECK_TARGETS re2::re2 )
+list(APPEND _IMPORT_CHECK_FILES_FOR_re2::re2 "@libdir@/libre2.so" )
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
diff --git a/re2Config.cmake b/re2Config.cmake
new file mode 100644
index 0000000..838f403
--- /dev/null
+++ b/re2Config.cmake
@@ -0,0 +1,88 @@
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+   message(FATAL_ERROR "CMake >= 2.6.0 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.6)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_targetsDefined)
+set(_targetsNotDefined)
+set(_expectedTargets)
+foreach(_expectedTarget re2::re2)
+  list(APPEND _expectedTargets ${_expectedTarget})
+  if(NOT TARGET ${_expectedTarget})
+    list(APPEND _targetsNotDefined ${_expectedTarget})
+  endif()
+  if(TARGET ${_expectedTarget})
+    list(APPEND _targetsDefined ${_expectedTarget})
+  endif()
+endforeach()
+if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
+  unset(_targetsDefined)
+  unset(_targetsNotDefined)
+  unset(_expectedTargets)
+  set(CMAKE_IMPORT_FILE_VERSION)
+  cmake_policy(POP)
+  return()
+endif()
+if(NOT "${_targetsDefined}" STREQUAL "")
+  message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
+endif()
+unset(_targetsDefined)
+unset(_targetsNotDefined)
+unset(_expectedTargets)
+
+
+# The installation prefix configured by this project.
+set(_IMPORT_PREFIX "/usr")
+
+# Create imported target re2::re2
+add_library(re2::re2 SHARED IMPORTED)
+
+set_target_properties(re2::re2 PROPERTIES
+  INTERFACE_INCLUDE_DIRECTORIES "/usr/include"
+)
+
+# Load information for each installed configuration.
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+file(GLOB CONFIG_FILES "${_DIR}/re2Config-*.cmake")
+foreach(f ${CONFIG_FILES})
+  include(${f})
+endforeach()
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(target ${_IMPORT_CHECK_TARGETS} )
+  foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
+    if(NOT EXISTS "${file}" )
+      message(FATAL_ERROR "The imported target \"${target}\" references the file
+   \"${file}\"
+but this file does not exist.  Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+   \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+    endif()
+  endforeach()
+  unset(_IMPORT_CHECK_FILES_FOR_${target})
+endforeach()
+unset(_IMPORT_CHECK_TARGETS)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/re2.git/commitdiff/70b46817155158ff13cb8dff28d1076d529c7c40



More information about the pld-cvs-commit mailing list