diff --git a/build/cmake/DefineOptions.cmake b/build/cmake/DefineOptions.cmake index 7d8b032ae18..a8b40c24355 100644 --- a/build/cmake/DefineOptions.cmake +++ b/build/cmake/DefineOptions.cmake @@ -39,7 +39,7 @@ CMAKE_DEPENDENT_OPTION(WITH_CPP "Build C++ library" ON "BUILD_LIBRARIES;Boost_FOUND" OFF) # NOTE: Currently the following options are C++ specific, # but in future other libraries might reuse them. -# So they are not dependent on WIHT_CPP but setting them without WITH_CPP currently +# So they are not dependent on WITH_CPP but setting them without WITH_CPP currently # has no effect. find_package(ZLIB QUIET) CMAKE_DEPENDENT_OPTION(WITH_ZLIB "Build with ZLIB support" ON diff --git a/build/cmake/DefinePlatformSpecifc.cmake b/build/cmake/DefinePlatformSpecifc.cmake index bafbf49e014..63e78f4f943 100644 --- a/build/cmake/DefinePlatformSpecifc.cmake +++ b/build/cmake/DefinePlatformSpecifc.cmake @@ -68,8 +68,14 @@ elseif(UNIX) endif() -# GCC Specific -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - # TODO: -pedantic can not be used at the moment because of: https://issues.apache.org/jira/browse/THRIFT-2784 +# GCC and Clang. +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # FIXME -pedantic can not be used at the moment because of: https://issues.apache.org/jira/browse/THRIFT-2784 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -Wall -Wextra -pedantic") + # FIXME enabling c++11 breaks some Linux builds on Travis by triggering a g++ bug, see + # https://travis-ci.org/apache/thrift/jobs/58017022 + # on the other hand, both MacOSX and FreeBSD need c++11 + if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -Wall -Wextra") + endif() endif() diff --git a/lib/c_glib/test/CMakeLists.txt b/lib/c_glib/test/CMakeLists.txt index affa4558129..e3e5ea4b702 100644 --- a/lib/c_glib/test/CMakeLists.txt +++ b/lib/c_glib/test/CMakeLists.txt @@ -23,6 +23,8 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}") set(TEST_PREFIX "c_glib") +include_directories(${Boost_INCLUDE_DIRS}) + # Create the thrift C++ test library set(testgenc_SOURCES gen-c_glib/t_test_debug_proto_test_types.c diff --git a/lib/c_glib/test/testthrifttestclient.cpp b/lib/c_glib/test/testthrifttestclient.cpp index 0a711d6a29b..4f7bc08e136 100755 --- a/lib/c_glib/test/testthrifttestclient.cpp +++ b/lib/c_glib/test/testthrifttestclient.cpp @@ -591,11 +591,11 @@ main (int argc, char **argv) if (pid == 0) /* child */ { - shared_ptr protocolFactory(new TBinaryProtocolFactory()); - shared_ptr testHandler(new TestHandler()); - shared_ptr testProcessor(new ThriftTestProcessor(testHandler)); - shared_ptr serverSocket(new TServerSocket(TEST_PORT)); - shared_ptr transportFactory(new TBufferedTransportFactory()); + boost::shared_ptr protocolFactory(new TBinaryProtocolFactory()); + boost::shared_ptr testHandler(new TestHandler()); + boost::shared_ptr testProcessor(new ThriftTestProcessor(testHandler)); + boost::shared_ptr serverSocket(new TServerSocket(TEST_PORT)); + boost::shared_ptr transportFactory(new TBufferedTransportFactory()); TSimpleServer simpleServer(testProcessor, serverSocket, transportFactory, protocolFactory); signal (SIGALRM, bailout); alarm (60); diff --git a/lib/cpp/test/TransportTest.cpp b/lib/cpp/test/TransportTest.cpp index 451fcef6370..7bd8aa0febb 100644 --- a/lib/cpp/test/TransportTest.cpp +++ b/lib/cpp/test/TransportTest.cpp @@ -16,8 +16,14 @@ * specific language governing permissions and limitations * under the License. */ + +#include "config.h" + #include #include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif #include #include #include diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt index d993c6de33d..79cc00891b4 100755 --- a/test/cpp/CMakeLists.txt +++ b/test/cpp/CMakeLists.txt @@ -31,6 +31,7 @@ set(crosstestgencpp_SOURCES gen-cpp/ThriftTest.cpp gen-cpp/ThriftTest_types.cpp gen-cpp/ThriftTest_constants.cpp + src/ThriftTest_extras.cpp ) add_library(crosstestgencpp STATIC ${crosstestgencpp_SOURCES}) target_link_libraries(crosstestgencpp thrift)