########################################################### # Top level CMakeLists.txt file for the MOOS Project # pnewman@robots.ox.ac.uk ########################################################### CMAKE_MINIMUM_REQUIRED(VERSION 2.8) if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) endif(COMMAND cmake_policy) set(PROJECTNAME GUIMOOS) project(${PROJECTNAME}) INCLUDE(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) IF(COMPILER_SUPPORTS_CXX11) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") ADD_DEFINITIONS(-D_USE_UNIQUE_PTR) ELSEIF(COMPILER_SUPPORTS_CXX0X) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") ADD_DEFINITIONS(-D_USE_UNIQUE_PTR) ELSE() MESSAGE(STATUS "${CMAKE_CXX_COMPILER} has no C++11 support.") REMOVE_DEFINITIONS(-D_USE_UNIQUE_PTR) ENDIF() if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) endif() if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) endif() if(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) endif() set(CMakeScripts_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake) set(CMAKE_MODULE_PATH ${CMakeScripts_MODULE_DIR}) # Turn on all compiler warnings include(EnableAllWarnings) # Bring in helper functions for dealing with CACHE INTERNAL variables include(CacheInternalHelpers) # We want to create dynamic libraries set(BUILD_SHARED_LIBS true) # Enable Doxygen build with 'make doxygen' option(ENABLE_DOXYGEN "Enable a 'make doc' target for Doxygen documentation") if (ENABLE_DOXYGEN) include(UseDoxygen) endif() ########### SETTING UP PREPROCESSOR ################ include(PlatformDefines) ##################################################### # Toby Schneider's request for fPIC on amd64 IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC" ) ENDIF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") add_subdirectory(Tools)