X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=CMakeLists.txt;h=33fb5464c351468c632d6bda29ef5b1623e41a0f;hb=b7bf3ee62081977a0f5e6a6a6222a9538a72925f;hp=c472aff6f15dc79ef2cb54fd049d1b8f5a9c62d0;hpb=82884ab3c652e87aa0217fa24a7d0faeb88be805;p=flightgear.git diff --git a/CMakeLists.txt b/CMakeLists.txt index c472aff6f..33fb5464c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,6 +69,39 @@ else() set(HUDSON_BUILD_ID "none") endif() +##################################################################################### +# Configure library search paths +##################################################################################### + +if(APPLE) + # Custom library directories for Mac, which should have precedence over any other + list(APPEND ADDITIONAL_LIBRARY_PATHS + ~/Library/Frameworks + /Library/Frameworks) +endif(APPLE) + +if(NOT "${CMAKE_LIBRARY_ARCHITECTURE}" STREQUAL "") + # Workaround for Ubuntu/Debian which introduced the "multiarch" library + # directory structure, which is unsupported by CMake < 2.8.10, so we need to + # add paths manually + # see http://www.cmake.org/Bug/view.php?id=12049 and + # http://www.cmake.org/Bug/view.php?id=12037 + list(APPEND ADDITIONAL_LIBRARY_PATHS + /usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE} + /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} + /lib/${CMAKE_LIBRARY_ARCHITECTURE}) + message(STATUS "additional library directories: ${ADDITIONAL_LIBRARY_PATHS}") +endif() + +if(NOT MSVC) + # TBD: are these really necessary? Aren't they considered by cmake automatically? + list(APPEND ADDITIONAL_LIBRARY_PATHS + /opt/local + /usr/local + /usr) +endif() +##################################################################################### + IF(APPLE) set(EVENT_INPUT_DEFAULT 1) @@ -111,7 +144,17 @@ option(SYSTEM_SQLITE "Set to ON to build FlightGear with the system's SQLite # additional utilities option(ENABLE_FGADMIN "Set to ON to build the FGADMIN application (default)" ON) +option(ENABLE_FGELEV "Set to ON to build the fgelev application (default)" ON) option(WITH_FGPANEL "Set to ON to build the fgpanel application (default)" ON) +option(ENABLE_FGVIEWER "Set to ON to build the fgviewer application (default)" ON) +option(ENABLE_GPSSMOOTH "Set to ON to build the GPSsmooth application (default)" ON) +option(ENABLE_TERRASYNC "Set to ON to build the terrasync application (default)" ON) + +option(ENABLE_FGJS "Set to ON to build the fgjs application (default)" ON) +option(ENABLE_JS_DEMO "Set to ON to build the js_demo application (default)" ON) + +option(ENABLE_METAR "Set to ON to build the metar application (default)" ON) + option(ENABLE_TESTS "Set to ON to build test applications (default)" ON) if(LOGGING) @@ -197,8 +240,27 @@ list(APPEND SQLITE3_LIBRARY ${CMAKE_THREAD_LIBS_INIT}) find_package(PLIB REQUIRED puaux pu js fnt) -# FlightGear and SimGear versions need to match -find_package(SimGear ${FLIGHTGEAR_VERSION} REQUIRED) +if (EMBEDDED_SIMGEAR) + message(STATUS "Using embedded SimGear") + # create the same variables that FindSimGear would define + set(SIMGEAR_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/simgear) + set(SIMGEAR_CORE_LIBRARIES SimGearCore) + set(SIMGEAR_LIBRARIES SimGearScene) + + if (NOT SIMGEAR_SHARED) + set(SIMGEAR_CORE_LIBRARY_DEPENDENCIES + ${CMAKE_THREAD_LIBS_INIT} + ${ZLIB_LIBRARY} + ${LIBSVN_LIBRARIES} + ${WINMM_LIBRARY}) + + set(SIMGEAR_SCENE_LIBRARY_DEPENDENCIES + ${OPENAL_LIBRARY}) + endif() +else(EMBEDDED_SIMGEAR) + # FlightGear and SimGear versions need to match + find_package(SimGear ${FLIGHTGEAR_VERSION} REQUIRED) +endif (EMBEDDED_SIMGEAR) if (JPEG_FACTORY) # check simgear was built with JPEG-factory support @@ -231,10 +293,13 @@ if(ENABLE_PROFILE) endif() if(ENABLE_RTI) + message(STATUS "RTI: ENABLED") find_package(RTI) if(RTI_FOUND) set(FG_HAVE_HLA 1) endif(RTI_FOUND) +else() + message(STATUS "RTI: DISABLED") endif(ENABLE_RTI) if(CMAKE_COMPILER_IS_GNUCXX) @@ -255,7 +320,7 @@ if(WIN32) # SET(WARNING_FLAGS "${WARNING_FLAGS} /wd${warning}") # endforeach(warning) - set(MSVC_FLAGS "-DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS") + set(MSVC_FLAGS "-DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS -Dstrdup=_strdup") if (${MSVC_VERSION} GREATER 1599) set( MSVC_LD_FLAGS "/FORCE:MULTIPLE" ) endif (${MSVC_VERSION} GREATER 1599) @@ -302,6 +367,14 @@ configure_file ( "${PROJECT_BINARY_DIR}/src/Include/version.h" ) +if (EMBEDDED_SIMGEAR) + add_subdirectory(simgear) + # since we build without SimGear installed, we need to + # search this path directly to find the generated + # simgear_config.h + include_directories(${PROJECT_BINARY_DIR}/simgear) +endif(EMBEDDED_SIMGEAR) + add_subdirectory(src) add_subdirectory(utils) add_subdirectory(man)