|
|
# Copyright (C) 2012 The Libphonenumber Authors
|
|
|
#
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
# You may obtain a copy of the License at
|
|
|
#
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
#
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
# See the License for the specific language governing permissions and
|
|
|
# limitations under the License.
|
|
|
|
|
|
# Author: Patrick Mezard
|
|
|
|
|
|
cmake_minimum_required (VERSION 3.11)
|
|
|
|
|
|
# Pick the C++ standard to compile with.
|
|
|
# Abseil currently supports C++11, C++14, and C++17.
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
project (generate_geocoding_data)
|
|
|
|
|
|
# Helper functions dealing with finding libraries and programs this library
|
|
|
# depends on.
|
|
|
include (gtest.cmake)
|
|
|
include (FetchContent)
|
|
|
|
|
|
# Downloading the abseil sources.
|
|
|
FetchContent_Declare(
|
|
|
abseil-cpp
|
|
|
GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
|
|
|
GIT_TAG origin/master
|
|
|
)
|
|
|
|
|
|
# Building the abseil binaries
|
|
|
FetchContent_GetProperties(abseil-cpp)
|
|
|
if (NOT abseil-cpp_POPULATED)
|
|
|
FetchContent_Populate(abseil-cpp)
|
|
|
endif ()
|
|
|
|
|
|
if (NOT abseil-cpp_POPULATED)
|
|
|
message (FATAL_ERROR "Could not build abseil-cpp binaries.")
|
|
|
endif ()
|
|
|
|
|
|
# Safeguarding against any potential link errors as mentioned in
|
|
|
# https://github.com/abseil/abseil-cpp/issues/225
|
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
|
|
|
add_subdirectory(${abseil-cpp_SOURCE_DIR} ${abseil-cpp_BINARY_DIR})
|
|
|
|
|
|
find_or_build_gtest ()
|
|
|
set (
|
|
|
SOURCES
|
|
|
"src/cpp-build/generate_geocoding_data.cc"
|
|
|
"src/cpp-build/generate_geocoding_data_main.cc"
|
|
|
)
|
|
|
|
|
|
if (NOT WIN32)
|
|
|
add_definitions ("-Wall -Werror")
|
|
|
endif ()
|
|
|
|
|
|
include_directories ("src")
|
|
|
|
|
|
add_executable (generate_geocoding_data ${SOURCES})
|
|
|
target_link_libraries (generate_geocoding_data absl::strings absl::btree)
|
|
|
|
|
|
set (TEST_SOURCES
|
|
|
"src/cpp-build/generate_geocoding_data.cc"
|
|
|
"test/cpp-build/generate_geocoding_data_test.cc"
|
|
|
"test/cpp-build/run_tests.cc"
|
|
|
)
|
|
|
|
|
|
set (TEST_LIBS ${GTEST_LIB})
|
|
|
|
|
|
if (NOT WIN32)
|
|
|
list (APPEND TEST_LIBS pthread)
|
|
|
endif ()
|
|
|
|
|
|
# Build the testing binary.
|
|
|
include_directories ("test")
|
|
|
add_executable (generate_geocoding_data_test ${TEST_SOURCES})
|
|
|
target_link_libraries (generate_geocoding_data_test absl::btree ${TEST_LIBS})
|