X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=CMakeLists.txt;h=45e08ab07b370b2d04b56649eef8828afc87ffbd;hb=ffb67f4014f16f33e7cea6b150e1da004558fad5;hp=7bf7503970134c8e7baaf653690d82db2caf1444;hpb=4bf4091ef79e53e41c7b0463f58d8fc4c9777f22;p=simgear.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bf75039..45e08ab0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,7 +115,6 @@ find_package(Threads REQUIRED) if(SIMGEAR_HEADLESS) message(STATUS "headless mode") - set(NO_OPENSCENEGRAPH_INTERFACE 1) else() find_package(OpenGL REQUIRED) find_package(OpenAL REQUIRED) @@ -156,6 +155,8 @@ check_function_exists(ftime HAVE_FTIME) check_function_exists(timegm HAVE_TIMEGM) check_function_exists(rint HAVE_RINT) check_function_exists(mkdtemp HAVE_MKDTEMP) +check_function_exists(bcopy HAVE_BCOPY) +check_function_exists(mmap HAVE_MMAP) if(HAVE_UNISTD_H) set(CMAKE_REQUIRED_INCLUDES ${CMAKE_INCLUDE_PATH}) @@ -190,8 +191,9 @@ check_cxx_source_compiles( HAVE_ISNAN) if(CMAKE_COMPILER_IS_GNUCXX) - set(WARNING_FLAGS -Wall) - + set(WARNING_FLAGS_CXX "-Wall") + set(WARNING_FLAGS_C "-Wall") + # certain GCC versions don't provide the atomic builds, and hence # require is to provide them in SGAtomic.cxx set(CMAKE_REQUIRED_INCLUDES ${CMAKE_INCLUDE_PATH}) @@ -200,8 +202,17 @@ if(CMAKE_COMPILER_IS_GNUCXX) GCC_ATOMIC_BUILTINS_FOUND) endif(CMAKE_COMPILER_IS_GNUCXX) +if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(WARNING_FLAGS_CXX "-Wall -Wno-overloaded-virtual") + set(WARNING_FLAGS_C "-Wall") +endif() + if(WIN32) + if(MINGW) + add_definitions(-D_WIN32_WINNT=0x501) + endif() + if(MSVC) # turn off various warnings # foreach(warning 4244 4251 4267 4275 4290 4786 4305 4996) @@ -216,24 +227,21 @@ if(WIN32) set( WINSOCK_LIBRARY "ws2_32.lib" ) set( RT_LIBRARY "winmm" ) -endif(WIN32) +endif(WIN32) -if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") - set (WARNING_FLAGS "-Wall -Wno-overloaded-virtual") -endif() - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS} ${BOOST_CXX_FLAGS}") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS_C} ${MSVC_FLAGS}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS_CXX} ${MSVC_FLAGS} ${BOOST_CXX_FLAGS}") include_directories(${PROJECT_SOURCE_DIR}) include_directories(${PROJECT_BINARY_DIR}/simgear) +include_directories(${PROJECT_BINARY_DIR}/simgear/xml) include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR} ${ALUT_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR} ) - add_definitions(-DHAVE_CONFIG_H) +add_definitions(-DHAVE_EXPAT_CONFIG_H) # configure a header file to pass some of the CMake settings # to the source code @@ -242,6 +250,11 @@ configure_file ( "${PROJECT_BINARY_DIR}/simgear/simgear_config.h" ) +configure_file ( + "${PROJECT_SOURCE_DIR}/simgear/xml/expat_config_cmake.in" + "${PROJECT_BINARY_DIR}/simgear/xml/expat_config.h" +) + if(ENABLE_TESTS) # enable CTest / make test target