Browse Source

Merge pull request #571 from dimbleby/rpm-packaging

Changes to allow building and packaging both 32-bit and 64-bit RPMs.
pull/626/head
David Yonge-Mallo 11 years ago
parent
commit
c0a607e26e
4 changed files with 63 additions and 23 deletions
  1. +54
    -14
      cpp/CMakeLists.txt
  2. +4
    -4
      cpp/test/phonenumbers/geocoding/area_code_map_test.cc
  3. +4
    -4
      cpp/test/phonenumbers/geocoding/phonenumber_offline_geocoder_test.cc
  4. +1
    -1
      cpp/test/phonenumbers/phonenumberutil_test.cc

+ 54
- 14
cpp/CMakeLists.txt View File

@ -19,6 +19,15 @@ cmake_minimum_required (VERSION 2.8)
project (libphonenumber)
set (libphonenumber_VERSION_MAJOR 7)
set (libphonenumber_VERSION_MINOR 0)
set (libphonenumber_VERSION_PATCH 2)
if (32BIT)
set_property (GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32")
endif ()
# Helper functions dealing with finding libraries and programs this library
# depends on.
@ -76,6 +85,7 @@ option ("USE_ICU_REGEXP" "Use ICU regexp engine" "ON")
option ("USE_LITE_METADATA" "Use lite metadata" "OFF")
option ("USE_RE2" "Use RE2" "OFF")
option ("USE_STD_MAP" "Force the use of std::map" "OFF")
option ("BUILD_STATIC_LIB" "Build static libraries" "ON")
if (${USE_ALTERNATE_FORMATS} STREQUAL "ON")
add_definitions ("-DI18N_PHONENUMBERS_USE_ALTERNATE_FORMATS")
@ -336,16 +346,20 @@ endif ()
include_directories ("src")
# Build a static library (without -fPIC).
add_library (phonenumber STATIC ${SOURCES})
if (${USE_ICU_REGEXP} STREQUAL "ON")
if (${USE_ALTERNATE_FORMATS} STREQUAL "ON")
add_dependencies (phonenumber ${ALT_FORMAT_METADATA_TARGET})
if ($BUILD_STATIC_LIB STREQUAL "ON")
# Build a static library (without -fPIC).
add_library (phonenumber STATIC ${SOURCES})
if (${USE_ICU_REGEXP} STREQUAL "ON")
if (${USE_ALTERNATE_FORMATS} STREQUAL "ON")
add_dependencies (phonenumber ${ALT_FORMAT_METADATA_TARGET})
endif ()
endif ()
endif ()
if (${BUILD_GEOCODER} STREQUAL "ON")
add_library (geocoding STATIC ${GEOCODING_SOURCES})
if ($BUILD_STATIC_LIB STREQUAL "ON")
add_library (geocoding STATIC ${GEOCODING_SOURCES})
endif ()
# The geocoder doesn't use RE2 so there is no reason not to build a shared
# library for it.
add_library (geocoding-shared SHARED ${GEOCODING_SOURCES})
@ -374,7 +388,7 @@ if (BUILD_SHARED_LIB)
add_library (phonenumber-shared SHARED ${SOURCES})
if (${USE_ICU_REGEXP} STREQUAL "ON")
if (${USE_ALTERNATE_FORMATS} STREQUAL "ON")
add_dependencies (phonenumber ${ALT_FORMAT_METADATA_TARGET})
add_dependencies (phonenumber-shared ${ALT_FORMAT_METADATA_TARGET})
endif ()
endif ()
set_target_properties (phonenumber-shared
@ -404,7 +418,9 @@ endif ()
list (APPEND LIBRARY_DEPS ${COMMON_DEPS})
target_link_libraries (phonenumber ${LIBRARY_DEPS})
if (${BUILD_STATIC_LIB} STREQUAL "ON")
target_link_libraries (phonenumber ${LIBRARY_DEPS})
endif ()
if (BUILD_SHARED_LIB)
target_link_libraries (phonenumber-shared ${LIBRARY_DEPS})
@ -554,17 +570,27 @@ install (FILES
install (FILES "src/phonenumbers/base/synchronization/lock.h"
DESTINATION include/phonenumbers/base/synchronization/)
install (TARGETS phonenumber LIBRARY DESTINATION lib/ ARCHIVE DESTINATION lib/)
get_property (LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
if ("${LIB64}" STREQUAL "TRUE")
set (LIBDIR lib64)
else ()
set (LIBDIR lib)
endif ()
if (${BUILD_STATIC_LIB} STREQUAL "ON")
install (TARGETS phonenumber LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR})
endif ()
if (BUILD_SHARED_LIB)
install (TARGETS phonenumber-shared LIBRARY DESTINATION lib/ ARCHIVE
DESTINATION lib/)
install (TARGETS phonenumber-shared LIBRARY DESTINATION ${LIBDIR} ARCHIVE
DESTINATION ${LIBDIR})
endif ()
if (${BUILD_GEOCODER} STREQUAL "ON")
install (TARGETS geocoding LIBRARY DESTINATION lib/ ARCHIVE DESTINATION lib/)
install (TARGETS geocoding-shared LIBRARY DESTINATION lib/ ARCHIVE
DESTINATION lib/)
install (TARGETS geocoding LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR})
install (TARGETS geocoding-shared LIBRARY DESTINATION ${LIBDIR} ARCHIVE
DESTINATION ${LIBDIR})
endif ()
# Build an example program using geocoding, mainly to make sure that both
@ -576,3 +602,17 @@ if (${BUILD_GEOCODER} STREQUAL "ON")
)
target_link_libraries (geocoding_test_program geocoding phonenumber)
endif ()
# Build an RPM
set (CPACK_PACKAGE_VERSION ${libphonenumber_VERSION_MAJOR}.${libphonenumber_VERSION_MINOR}.${libphonenumber_VERSION_PATCH})
set (CPACK_GENERATOR "RPM")
set (CPACK_PACKAGE_NAME "libphonenumber")
set (CPACK_RPM_PACKAGE_RELEASE 1)
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Google's phone number handling library")
if (32BIT)
set (CPACK_RPM_PACKAGE_ARCHITECTURE i686)
else ()
set (CPACK_RPM_PACKAGE_ARCHITECTURE x86_64)
endif ()
set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}")
include (CPack)

+ 4
- 4
cpp/test/phonenumbers/geocoding/area_code_map_test.cc View File

@ -155,20 +155,20 @@ TEST_F(AreaCodeMapTest, TestLookupNumberNY) {
TEST_F(AreaCodeMapTest, TestLookupNumberCA1) {
EXPECT_STREQ("San Mateo, CA",
map_US_->Lookup(MakePhoneNumber(1, 6503451234L)));
map_US_->Lookup(MakePhoneNumber(1, 6503451234LL)));
}
TEST_F(AreaCodeMapTest, TestLookupNumberCA2) {
EXPECT_STREQ("California", map_US_->Lookup(MakePhoneNumber(1, 6502531234L)));
EXPECT_STREQ("California", map_US_->Lookup(MakePhoneNumber(1, 6502531234LL)));
}
TEST_F(AreaCodeMapTest, TestLookupNumberTX) {
EXPECT_STREQ("Richardson, TX",
map_US_->Lookup(MakePhoneNumber(1, 9724801234L)));
map_US_->Lookup(MakePhoneNumber(1, 9724801234LL)));
}
TEST_F(AreaCodeMapTest, TestLookupNumberNotFoundTX) {
EXPECT_STREQ(NULL, map_US_->Lookup(MakePhoneNumber(1, 9724811234L)));
EXPECT_STREQ(NULL, map_US_->Lookup(MakePhoneNumber(1, 9724811234LL)));
}
TEST_F(AreaCodeMapTest, TestLookupNumberCH) {


+ 4
- 4
cpp/test/phonenumbers/geocoding/phonenumber_offline_geocoder_test.cc View File

@ -51,12 +51,12 @@ class PhoneNumberOfflineGeocoderTest : public testing::Test {
PhoneNumberOfflineGeocoderTest() :
KO_NUMBER1(MakeNumber(82, 22123456UL)),
KO_NUMBER2(MakeNumber(82, 322123456UL)),
KO_NUMBER3(MakeNumber(82, 6421234567UL)),
KO_NUMBER3(MakeNumber(82, 6421234567ULL)),
KO_INVALID_NUMBER(MakeNumber(82, 1234UL)),
US_NUMBER1(MakeNumber(1, 6502530000UL)),
US_NUMBER2(MakeNumber(1, 6509600000UL)),
US_NUMBER1(MakeNumber(1, 6502530000ULL)),
US_NUMBER2(MakeNumber(1, 6509600000ULL)),
US_NUMBER3(MakeNumber(1, 2128120000UL)),
US_NUMBER4(MakeNumber(1, 6174240000UL)),
US_NUMBER4(MakeNumber(1, 6174240000ULL)),
US_INVALID_NUMBER(MakeNumber(1, 123456789UL)),
BS_NUMBER1(MakeNumber(1, 2423651234UL)),
AU_NUMBER(MakeNumber(61, 236618300UL)),


+ 1
- 1
cpp/test/phonenumbers/phonenumberutil_test.cc View File

@ -1122,7 +1122,7 @@ TEST_F(PhoneNumberUtilTest, FormatNumberForMobileDialing) {
// numbers are always output in international format, but short numbers are
// in national format.
test_number.set_country_code(1);
test_number.set_national_number(6502530000L);
test_number.set_national_number(6502530000LL);
phone_util_.FormatNumberForMobileDialing(
test_number, RegionCode::US(), false, &formatted_number);
EXPECT_EQ("+16502530000", formatted_number);


Loading…
Cancel
Save