OLD | NEW |
| (Empty) |
1 # Copyright 2015 The RE2 Authors. All Rights Reserved. | |
2 # Use of this source code is governed by a BSD-style | |
3 # license that can be found in the LICENSE file. | |
4 | |
5 # Old enough to support Ubuntu Precise. | |
6 cmake_minimum_required(VERSION 2.8.7) | |
7 | |
8 project(RE2 CXX) | |
9 option(BUILD_SHARED_LIBS "build shared libraries" OFF) | |
10 option(USEPCRE "use PCRE in tests and benchmarks" OFF) | |
11 | |
12 set(EXTRA_TARGET_LINK_LIBRARIES) | |
13 | |
14 if(WIN32) | |
15 add_definitions(-DUNICODE -D_UNICODE -DSTRICT -DNOMINMAX) | |
16 set(THREADING threadwin) | |
17 else() | |
18 set(THREADING thread) | |
19 list(APPEND EXTRA_TARGET_LINK_LIBRARIES -pthread) | |
20 endif() | |
21 | |
22 if(USEPCRE) | |
23 add_definitions(-DUSEPCRE) | |
24 list(APPEND EXTRA_TARGET_LINK_LIBRARIES pcre) | |
25 endif() | |
26 | |
27 include_directories(${CMAKE_SOURCE_DIR}) | |
28 | |
29 set(RE2_LIBRARY_SOURCES | |
30 re2/bitstate.cc | |
31 re2/compile.cc | |
32 re2/dfa.cc | |
33 re2/filtered_re2.cc | |
34 re2/mimics_pcre.cc | |
35 re2/nfa.cc | |
36 re2/onepass.cc | |
37 re2/parse.cc | |
38 re2/perl_groups.cc | |
39 re2/prefilter.cc | |
40 re2/prefilter_tree.cc | |
41 re2/prog.cc | |
42 re2/re2.cc | |
43 re2/regexp.cc | |
44 re2/set.cc | |
45 re2/simplify.cc | |
46 re2/stringpiece.cc | |
47 re2/tostring.cc | |
48 re2/unicode_casefold.cc | |
49 re2/unicode_groups.cc | |
50 util/hash.cc | |
51 util/logging.cc | |
52 util/rune.cc | |
53 util/stringprintf.cc | |
54 util/strutil.cc | |
55 util/valgrind.cc | |
56 ) | |
57 | |
58 add_library(re2 ${RE2_LIBRARY_SOURCES}) | |
59 | |
60 set(TEST_LIBRARY_SOURCES | |
61 re2/testing/backtrack.cc | |
62 re2/testing/dump.cc | |
63 re2/testing/exhaustive_tester.cc | |
64 re2/testing/null_walker.cc | |
65 re2/testing/regexp_generator.cc | |
66 re2/testing/string_generator.cc | |
67 re2/testing/tester.cc | |
68 util/pcre.cc | |
69 util/random.cc | |
70 util/${THREADING}.cc | |
71 ) | |
72 | |
73 add_library(test STATIC ${TEST_LIBRARY_SOURCES} util/test.cc) | |
74 add_library(benchmark STATIC ${TEST_LIBRARY_SOURCES} util/benchmark.cc) | |
75 | |
76 set(TEST_TARGETS | |
77 charclass_test | |
78 compile_test | |
79 filtered_re2_test | |
80 mimics_pcre_test | |
81 parse_test | |
82 possible_match_test | |
83 re2_test | |
84 re2_arg_test | |
85 regexp_test | |
86 required_prefix_test | |
87 search_test | |
88 set_test | |
89 simplify_test | |
90 string_generator_test | |
91 | |
92 dfa_test | |
93 exhaustive1_test | |
94 exhaustive2_test | |
95 exhaustive3_test | |
96 exhaustive_test | |
97 random_test | |
98 ) | |
99 | |
100 set(BENCHMARK_TARGETS | |
101 regexp_benchmark | |
102 ) | |
103 | |
104 foreach(target ${TEST_TARGETS}) | |
105 add_executable(${target} re2/testing/${target}.cc) | |
106 target_link_libraries(${target} test re2 ${EXTRA_TARGET_LINK_LIBRARIES}) | |
107 endforeach(target) | |
108 | |
109 foreach(target ${BENCHMARK_TARGETS}) | |
110 add_executable(${target} re2/testing/${target}.cc) | |
111 target_link_libraries(${target} benchmark re2 ${EXTRA_TARGET_LINK_LIBRARIES}) | |
112 endforeach(target) | |
OLD | NEW |