Skip to content

Commit

Permalink
THRIFT-3099 cmake build is broken on FreeBSD
Browse files Browse the repository at this point in the history
  • Loading branch information
Marco Molteni authored and bufferoverflow committed Apr 16, 2015
1 parent 3b61971 commit 8349425
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 9 deletions.
2 changes: 1 addition & 1 deletion build/cmake/DefineOptions.cmake
Expand Up @@ -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
Expand Down
12 changes: 9 additions & 3 deletions build/cmake/DefinePlatformSpecifc.cmake
Expand Up @@ -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()
2 changes: 2 additions & 0 deletions lib/c_glib/test/CMakeLists.txt
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions lib/c_glib/test/testthrifttestclient.cpp
Expand Up @@ -591,11 +591,11 @@ main (int argc, char **argv)

if (pid == 0) /* child */
{
shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
shared_ptr<TestHandler> testHandler(new TestHandler());
shared_ptr<ThriftTestProcessor> testProcessor(new ThriftTestProcessor(testHandler));
shared_ptr<TServerSocket> serverSocket(new TServerSocket(TEST_PORT));
shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
boost::shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
boost::shared_ptr<TestHandler> testHandler(new TestHandler());
boost::shared_ptr<ThriftTestProcessor> testProcessor(new ThriftTestProcessor(testHandler));
boost::shared_ptr<TServerSocket> serverSocket(new TServerSocket(TEST_PORT));
boost::shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
TSimpleServer simpleServer(testProcessor, serverSocket, transportFactory, protocolFactory);
signal (SIGALRM, bailout);
alarm (60);
Expand Down
6 changes: 6 additions & 0 deletions lib/cpp/test/TransportTest.cpp
Expand Up @@ -16,8 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/

#include "config.h"

#include <stdlib.h>
#include <time.h>
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#include <sstream>
#include <fstream>
#include <thrift/cxxfunctional.h>
Expand Down
1 change: 1 addition & 0 deletions test/cpp/CMakeLists.txt
Expand Up @@ -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)
Expand Down

0 comments on commit 8349425

Please sign in to comment.