Added
Link Here
|
1 |
--- CMakeLists.txt.orig 2023-02-03 21:24:21 UTC |
2 |
+++ CMakeLists.txt |
3 |
@@ -64,7 +64,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 |
@@ -94,9 +96,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 |
@@ -122,6 +128,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 |
@@ -155,6 +162,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 |
@@ -162,6 +170,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 |
@@ -180,6 +189,8 @@ install(TARGETS re2 |
53 |
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
54 |
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
55 |
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) |
56 |
+install(TARGETS re2_static |
57 |
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
58 |
install(EXPORT re2Targets |
59 |
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2 |
60 |
NAMESPACE re2::) |