From f17d2d8eba6b9a9a5170902f84cb147c05564240 Mon Sep 17 00:00:00 2001 From: "jia.shao.peng" Date: Mon, 6 Jun 2011 08:10:41 +0000 Subject: [PATCH] CPP:Build shared library for C++, and fix gcc 4.4 build. Patch contributed by bgertzfield git-svn-id: http://libphonenumber.googlecode.com/svn/trunk@218 ee073f10-1060-11df-b6a4-87a95322a99c --- cpp/CMakeLists.txt | 10 +++++++++- cpp/src/stringutil_test.cc | 12 ++++++------ cpp/src/utf/unicodetext_test.cc | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 02e029e..976b9e3 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -241,7 +241,7 @@ set (PLATFORM_SPECIFIC_SOURCES "") if (UNIX) if (CMAKE_COMPILER_IS_GNUCXX) - add_definitions ("-Wall -Wextra -Werror") + add_definitions ("-Wall -Werror") # The next flags are needed by base/ source files to compile low level code # needed by Singleton. @@ -297,9 +297,16 @@ list (APPEND TESTING_LIBRARY_SOURCES ${PLATFORM_SPECIFIC_SOURCES}) include_directories ("src") include_directories (".") +# Build a static library (without -fPIC). add_library (phonenumber STATIC ${SOURCES}) add_dependencies (phonenumber generate-sources ${METADATA_TARGET}) +# Build a shared library (with -fPIC). +add_library (phonenumber-shared SHARED ${SOURCES}) +add_dependencies (phonenumber-shared generate-sources ${METADATA_TARGET}) +set_target_properties (phonenumber-shared PROPERTIES OUTPUT_NAME "phonenumber") +set_target_properties (phonenumber-shared PROPERTIES PREFIX "lib") + set (LIBRARY_DEPS ${PROTOBUF_LIB} ${ICU_LIB}) if (${USE_RE2} STREQUAL "ON") @@ -311,6 +318,7 @@ if (APPLE) endif () target_link_libraries (phonenumber ${LIBRARY_DEPS}) +target_link_libraries (phonenumber-shared ${LIBRARY_DEPS}) # Build a specific library for testing purposes. add_library (phonenumber_testing STATIC ${TESTING_LIBRARY_SOURCES}) diff --git a/cpp/src/stringutil_test.cc b/cpp/src/stringutil_test.cc index a631bfa..4f328a7 100644 --- a/cpp/src/stringutil_test.cc +++ b/cpp/src/stringutil_test.cc @@ -73,7 +73,7 @@ TEST(StringUtilTest, safe_strto32) { EXPECT_EQ(2147483647, n); safe_strto32("-2147483648", &n); - EXPECT_EQ(-2147483648, n); + EXPECT_EQ(-2147483648LL, n); } // Test safe_strtou64. @@ -81,13 +81,13 @@ TEST(StringUtilTest, safe_strtou64) { uint64 n; safe_strtou64("0", &n); - EXPECT_EQ(0, n); + EXPECT_EQ(0U, n); safe_strtou64("16", &n); - EXPECT_EQ(16, n); + EXPECT_EQ(16U, n); safe_strtou64("18446744073709551615UL", &n); - EXPECT_EQ(18446744073709551615UL, n); + EXPECT_EQ(18446744073709551615ULL, n); } // Test strrmm. @@ -151,12 +151,12 @@ TEST(StringUtilTest, StringHolder) { // Test GetLength(). string s2 = "hello"; StringHolder sh3(s2); - EXPECT_EQ(5, sh3.Length()); + EXPECT_EQ(5U, sh3.Length()); // Test with uint64. StringHolder sh4(42); EXPECT_TRUE(sh4.GetCString() == NULL); - EXPECT_EQ(2, sh4.Length()); + EXPECT_EQ(2U, sh4.Length()); EXPECT_EQ("42", *sh4.GetString()); } diff --git a/cpp/src/utf/unicodetext_test.cc b/cpp/src/utf/unicodetext_test.cc index 51ba094..81100c5 100644 --- a/cpp/src/utf/unicodetext_test.cc +++ b/cpp/src/utf/unicodetext_test.cc @@ -24,7 +24,7 @@ namespace unicodetext { TEST(UnicodeTextTest, Iterator) { struct value { const char* utf8; - unsigned int code_point; + char32 code_point; } values[] = { { "\x31", 0x31 }, // U+0031 DIGIT ONE { "\xC2\xBD", 0x00BD }, // U+00BD VULGAR FRACTION ONE HALF -- 2.7.4