|
|
|
@ -79,6 +79,9 @@ check_library_version (PC_ICU icui18n 4.4) |
|
|
|
find_required_program (PROTOC protoc |
|
|
|
"Google Protocol Buffers compiler (protoc)") |
|
|
|
|
|
|
|
find_required_program (JAVA java |
|
|
|
"Java Runtime Environment") |
|
|
|
|
|
|
|
# Add protoc (Protocol Buffers compiler) target. |
|
|
|
set (RESOURCES_DIR "${CMAKE_SOURCE_DIR}/../resources") |
|
|
|
|
|
|
|
@ -109,6 +112,55 @@ add_custom_target ( |
|
|
|
COMMENT "Generating Protocol Buffers code" |
|
|
|
) |
|
|
|
|
|
|
|
# Add metadata code generation targets. |
|
|
|
|
|
|
|
# This function is invoked twice to create metadata & test metadata code |
|
|
|
# generation targets. |
|
|
|
function (add_metadata_gen_target TARGET_NAME |
|
|
|
XML_FILE |
|
|
|
FOR_TESTING) |
|
|
|
if (${FOR_TESTING} STREQUAL "true") |
|
|
|
set (GEN_OUTPUT_PREFIX "${CMAKE_SOURCE_DIR}/src/metadata") |
|
|
|
elseif (${FOR_TESTING} STREQUAL "false") |
|
|
|
set (GEN_OUTPUT_PREFIX "${CMAKE_SOURCE_DIR}/src/test_metadata") |
|
|
|
else () |
|
|
|
message (FATAL_ERROR |
|
|
|
"Unexpected value '${FOR_TESTING}' for testing parameter") |
|
|
|
endif () |
|
|
|
|
|
|
|
set (GEN_OUTPUT "${GEN_OUTPUT_PREFIX}.cc ${GEN_OUTPUT_PREFIX}.h") |
|
|
|
set (JAR_PATH "${CMAKE_SOURCE_DIR}/../tools/java/cpp-build/target") |
|
|
|
set (JAR_PATH "${JAR_PATH}/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar") |
|
|
|
|
|
|
|
add_custom_command ( |
|
|
|
COMMAND ${JAVA_BIN} -jar |
|
|
|
${JAR_PATH} BuildMetadataCppFromXml ${XML_FILE} ${CMAKE_SOURCE_DIR}/src |
|
|
|
${FOR_TESTING} |
|
|
|
|
|
|
|
OUTPUT ${GEN_OUTPUT} |
|
|
|
DEPENDS ${XML_FILE} |
|
|
|
) |
|
|
|
add_custom_target ( |
|
|
|
${TARGET_NAME} |
|
|
|
DEPENDS ${GEN_OUTPUT} |
|
|
|
COMMENT "Generating Metadata code" |
|
|
|
) |
|
|
|
endfunction (add_metadata_gen_target) |
|
|
|
|
|
|
|
# Add metadata generation target. |
|
|
|
add_metadata_gen_target ( |
|
|
|
"generate-metadata" |
|
|
|
"${RESOURCES_DIR}/PhoneNumberMetaData.xml" |
|
|
|
"false" |
|
|
|
) |
|
|
|
|
|
|
|
# Add test metadata generation target. |
|
|
|
add_metadata_gen_target ( |
|
|
|
"generate-test-metadata" |
|
|
|
"${RESOURCES_DIR}/PhoneNumberMetaDataForTesting.xml" |
|
|
|
"true" |
|
|
|
) |
|
|
|
|
|
|
|
# Platform independent sources. |
|
|
|
set ( |
|
|
|
SOURCES |
|
|
|
@ -119,7 +171,7 @@ set ( |
|
|
|
"src/base/threading/thread_restrictions.cc" |
|
|
|
"src/default_logger.cc" |
|
|
|
"src/logger_adapter.cc" |
|
|
|
"src/metadata.cc" |
|
|
|
"src/metadata.cc" # Generated by build tools. |
|
|
|
"src/phonemetadata.pb.cc" # Generated by Protocol Buffers. |
|
|
|
"src/phonenumber.cc" |
|
|
|
"src/phonenumber.pb.cc" # Generated by Protocol Buffers. |
|
|
|
@ -181,7 +233,7 @@ set (TEST_SOURCES |
|
|
|
"src/re2_cache_test.cc" |
|
|
|
"src/run_tests.cc" |
|
|
|
"src/stringutil_test.cc" |
|
|
|
"src/test_metadata.cc" |
|
|
|
"src/test_metadata.cc" # Generated by build tools. |
|
|
|
) |
|
|
|
|
|
|
|
add_executable (libphonenumber_test ${TEST_SOURCES}) |
|
|
|
|