| # 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() |