View | Details | Raw Unified | Return to bug 260402 | Differences between
and this patch

Collapse All | Expand All

(-)devel/re2/Makefile (-7 / +5 lines)
Lines 9-26 WWW= https://github.com/google/re2 Link Here
9
LICENSE=	BSD3CLAUSE
9
LICENSE=	BSD3CLAUSE
10
LICENSE_FILE=	${WRKSRC}/LICENSE
10
LICENSE_FILE=	${WRKSRC}/LICENSE
11
11
12
USES=		compiler:c++11-lang gmake pathfix
12
USES=		cmake:testing compiler:c++11-lang
13
13
14
MAKE_ARGS=	CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" SED_INPLACE="${SED} -i ''" prefix=${PREFIX}
14
CMAKE_ON=	BUILD_SHARED_LIBS
15
USE_LDCONFIG=	yes
15
CMAKE_OFF=	RE2_BUILD_TESTING USEPCRE
16
CMAKE_TESTING_ON=	RE2_BUILD_TESTING USEPCRE
16
17
17
PATHFIX_MAKEFILEIN=	Makefile
18
USE_LDCONFIG=	yes
18
19
19
GH_ACCOUNT=	google
20
GH_ACCOUNT=	google
20
GH_TAGNAME=	${PORTVERSION:C|(....)(..)(..)|\1-\2-\3|}
21
GH_TAGNAME=	${PORTVERSION:C|(....)(..)(..)|\1-\2-\3|}
21
USE_GITHUB=	yes
22
USE_GITHUB=	yes
22
23
23
post-install:
24
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libre2.so
25
26
.include <bsd.port.mk>
24
.include <bsd.port.mk>
(-)devel/re2/files/patch-CMakeLists.txt (+76 lines)
Added Link Here
1
--- CMakeLists.txt.orig	2022-05-10 11:02:12 UTC
2
+++ CMakeLists.txt
3
@@ -49,7 +49,9 @@ endif()
4
 
5
 if(USEPCRE)
6
   add_definitions(-DUSEPCRE)
7
-  list(APPEND EXTRA_TARGET_LINK_LIBRARIES pcre)
8
+  find_package(PkgConfig REQUIRED)
9
+  pkg_check_modules(_pcre REQUIRED libpcre)
10
+  list(APPEND EXTRA_TARGET_LINK_LIBRARIES ${_pcre_LINK_LIBRARIES})
11
 endif()
12
 
13
 set(RE2_SOURCES
14
@@ -78,9 +80,13 @@ set(RE2_SOURCES
15
     )
16
 
17
 add_library(re2 ${RE2_SOURCES})
18
+add_library(re2_static STATIC ${RE2_SOURCES})
19
 target_compile_features(re2 PUBLIC cxx_std_11)
20
 target_include_directories(re2 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
21
+target_include_directories(re2 PRIVATE ${CMAKE_SOURCE_DIR})
22
+target_include_directories(re2_static PRIVATE ${CMAKE_SOURCE_DIR})
23
 set_target_properties(re2 PROPERTIES SOVERSION ${SONAME} VERSION ${SONAME}.0.0)
24
+set_target_properties(re2_static PROPERTIES OUTPUT_NAME "re2")
25
 add_library(re2::re2 ALIAS re2)
26
 
27
 if(UNIX)
28
@@ -102,6 +108,7 @@ if(RE2_BUILD_TESTING)
29
   add_library(testing STATIC ${TESTING_SOURCES})
30
   target_compile_features(testing PUBLIC cxx_std_11)
31
   target_link_libraries(testing PUBLIC re2)
32
+  target_include_directories(testing PRIVATE ${_pcre_INCLUDE_DIRS})
33
 
34
   set(TEST_TARGETS
35
       charclass_test
36
@@ -135,6 +142,7 @@ if(RE2_BUILD_TESTING)
37
     add_executable(${target} re2/testing/${target}.cc util/test.cc)
38
     target_compile_features(${target} PUBLIC cxx_std_11)
39
     target_link_libraries(${target} testing ${EXTRA_TARGET_LINK_LIBRARIES})
40
+    target_include_directories(${target} PRIVATE ${_pcre_INCLUDE_DIRS})
41
     add_test(NAME ${target} COMMAND ${target})
42
   endforeach()
43
 
44
@@ -142,6 +150,7 @@ if(RE2_BUILD_TESTING)
45
     add_executable(${target} re2/testing/${target}.cc util/benchmark.cc)
46
     target_compile_features(${target} PUBLIC cxx_std_11)
47
     target_link_libraries(${target} testing ${EXTRA_TARGET_LINK_LIBRARIES})
48
+    target_include_directories(${target} PRIVATE ${_pcre_INCLUDE_DIRS})
49
   endforeach()
50
 endif()
51
 
52
@@ -152,6 +161,8 @@ set(RE2_HEADERS
53
     re2/stringpiece.h
54
     )
55
 
56
+configure_file(re2.pc re2.pc @ONLY)
57
+
58
 install(FILES ${RE2_HEADERS}
59
         DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/re2)
60
 install(TARGETS re2 EXPORT re2Targets
61
@@ -159,6 +170,8 @@ install(TARGETS re2 EXPORT re2Targets
62
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
63
         RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
64
         INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
65
+install(TARGETS re2_static
66
+        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
67
 install(EXPORT re2Targets
68
         DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2 NAMESPACE re2::)
69
 
70
@@ -174,3 +187,6 @@ write_basic_package_version_file(${CMAKE_CURRENT_BINAR
71
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
72
               ${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
73
         DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)
74
+
75
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2.pc
76
+        DESTINATION ${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig)
(-)devel/re2/files/patch-re2.pc (+10 lines)
Added Link Here
1
--- re2.pc.orig	2022-05-10 11:02:12 UTC
2
+++ re2.pc
3
@@ -1,5 +1,5 @@
4
-includedir=@includedir@
5
-libdir=@libdir@
6
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
7
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
8
 
9
 Name: re2
10
 Description: RE2 is a fast, safe, thread-friendly regular expression engine.
(-)devel/re2/pkg-plist (+4 lines)
Lines 2-7 include/re2/filtered_re2.h Link Here
2
include/re2/re2.h
2
include/re2/re2.h
3
include/re2/set.h
3
include/re2/set.h
4
include/re2/stringpiece.h
4
include/re2/stringpiece.h
5
lib/cmake/re2/re2Config.cmake
6
lib/cmake/re2/re2ConfigVersion.cmake
7
lib/cmake/re2/re2Targets-%%CMAKE_BUILD_TYPE%%.cmake
8
lib/cmake/re2/re2Targets.cmake
5
lib/libre2.a
9
lib/libre2.a
6
lib/libre2.so
10
lib/libre2.so
7
lib/libre2.so.9
11
lib/libre2.so.9

Return to bug 260402