X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=CMakeLists.txt;h=150c3931d276e7e571aec0c9a53ff2081529107d;hb=e81db175f41ddf47e80f9a0b2a4e7fea515d3f1f;hp=694734843ff6f96445e247ee30bf90cb60322233;hpb=60ffb950e2a3e64fdf08d0adcc425ab992f7c183;p=flightgear.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 694734843..150c3931d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,14 @@ else(${CMAKE_VERSION} VERSION_GREATER 2.8.4) include(OldGNUInstallDirs) endif(${CMAKE_VERSION} VERSION_GREATER 2.8.4) +# Warning when build is not an out-of-source build. +string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" InSourceBuild) +if(InSourceBuild) + message(WARNING "Avoid building inside the source tree!") + message(WARNING "Create a separate build directory instead (i.e. 'fgbuild') and call CMake from there: ") + message(WARNING " mkdir ../fgbuild && cd ../fgbuild && cmake ${CMAKE_SOURCE_DIR}") +endif(InSourceBuild) + set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows") set(CMAKE_RELEASE_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows") set(CMAKE_RELWITHDEBINFO_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows") @@ -111,6 +119,7 @@ option(ENABLE_LIBSVN "Set to ON to build FlightGear/terrasync with libsvncli option(ENABLE_RTI "Set to ON to build SimGear with RTI support" OFF) option(WITH_FGPANEL "Set to ON to build the fgpanel application" ON) option(JPEG_FACTORY "Enable JPEG-factory support" OFF) +option(ENABLE_TESTS "Set to OFF to disable building test applications" ON) if (MSVC) GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} PATH) @@ -150,11 +159,13 @@ if (MSVC AND MSVC_3RDPARTY_ROOT) if (CMAKE_CL_64) set( OSG_MSVC ${OSG_MSVC}-64 ) set( MSVC_3RDPARTY_DIR 3rdParty.x64 ) + set( BOOST_LIB lib64 ) else (CMAKE_CL_64) set( MSVC_3RDPARTY_DIR 3rdParty ) + set( BOOST_LIB lib ) endif (CMAKE_CL_64) - set (CMAKE_LIBRARY_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/lib ) + set (CMAKE_LIBRARY_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/lib $(BOOST_ROOT)/$(BOOST_LIB) ) set (CMAKE_INCLUDE_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/include) set (BOOST_ROOT ${MSVC_3RDPARTY_ROOT}/boost_1_44_0) set (OPENAL_INCLUDE_DIR ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include) @@ -251,19 +262,6 @@ check_include_file(unistd.h HAVE_UNISTD_H) check_include_file(sys/time.h HAVE_SYS_TIME_H) check_include_file(windows.h HAVE_WINDOWS_H) -# definition depends on OSG version -set(CMAKE_REQUIRED_INCLUDES ${OPENSCENEGRAPH_INCLUDE_DIRS}) - -check_cxx_source_compiles( - "#include - int main() - { - osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK; - return 0; - } - " - HAVE_CULLSETTINGS_CLEAR_MASK) - if(ENABLE_RTI) find_package(RTI) if(RTI_FOUND) @@ -272,9 +270,15 @@ if(ENABLE_RTI) endif(ENABLE_RTI) if(CMAKE_COMPILER_IS_GNUCXX) - set(WARNING_FLAGS -Wall) + set(WARNING_FLAGS_CXX "-Wall") + set(WARNING_FLAGS_C "-Wall") 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(MSVC) @@ -292,8 +296,10 @@ if(WIN32) set(NOMINMAX 1) endif(WIN32) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS} -D_REENTRANT") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} ${MSVC_FLAGS} -D_REENTRANT") +set (BOOST_CXX_FLAGS "-DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION -DBOOST_BIMAP_DISABLE_SERIALIZATION") + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS_C} ${MSVC_FLAGS} -D_REENTRANT") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS_CXX} ${MSVC_FLAGS} -D_REENTRANT ${BOOST_CXX_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MSVC_LD_FLAGS}") include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS} @@ -333,15 +339,6 @@ add_subdirectory(src) add_subdirectory(utils) add_subdirectory(man) -set (INSTALL_DOCS - README - README.OpenAL - README.plib - README.OSG - README.SimGear) - -INSTALL(FILES ${INSTALL_DOCS} DESTINATION ${CMAKE_INSTALL_DOCDIR} OPTIONAL) - #----------------------------------------------------------------------------- ### uninstall target #-----------------------------------------------------------------------------