blob: 9ef4a22fc6e4ba9a0e234801a029a2a1678b4854 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# Suppress all warnings from third-party projects.
set_property(DIRECTORY APPEND PROPERTY COMPILE_OPTIONS -w)
# Set alternate root directory for third party sources.
set(EFFCEE_THIRD_PARTY_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}" CACHE STRING
"Root location of all third_party projects")
# Find googletest and gmock
if(${googletest-distribution_SOURCE_DIR})
set(EFFCEE_GOOGLETEST_DIR "${googletest-distribution_SOURCE_DIR}" CACHE STRING
"Location of googletest source")
else()
set(EFFCEE_GOOGLETEST_DIR "${EFFCEE_THIRD_PARTY_ROOT_DIR}/googletest" CACHE STRING
"Location of googletest source")
endif()
# Find re2
if(RE2_SOURCE_DIR)
set(EFFCEE_RE2_DIR "${RE2_SOURCE_DIR}" CACHE STRING "Location of re2 source" FORCE)
else()
set(EFFCEE_RE2_DIR "${EFFCEE_THIRD_PARTY_ROOT_DIR}/re2" CACHE STRING
"Location of re2 source")
endif()
# Configure third party projects.
if(EFFCEE_BUILD_TESTING)
if (NOT TARGET gmock)
if (IS_DIRECTORY ${EFFCEE_GOOGLETEST_DIR})
add_subdirectory(${EFFCEE_GOOGLETEST_DIR} googletest EXCLUDE_FROM_ALL)
endif()
endif()
if (NOT TARGET gmock)
message(FATAL_ERROR "gmock was not found - required for tests")
endif()
endif()
if (NOT TARGET re2)
if (IS_DIRECTORY ${EFFCEE_RE2_DIR})
add_subdirectory(${EFFCEE_RE2_DIR} re2 EXCLUDE_FROM_ALL)
endif()
endif()
if (NOT TARGET re2)
message(FATAL_ERROR "re2 was not found - required for compilation")
endif()
|