diff --git a/CMakeLists.txt b/CMakeLists.txt index ce2a828f8f..bd79a693f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,76 +1,78 @@ project(KDevelop) set(KDE4_BUILD_TESTS "ON" CACHE "BOOL" "Enable building of tests" FORCE ) set(CMAKE_MODULE_PATH ${KDevelop_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) set( KDEVELOP_VERSION_MAJOR 4 ) set( KDEVELOP_VERSION_MINOR 3 ) set( KDEVELOP_VERSION_PATCH 60 ) set(KDE_MIN_VERSION "4.5.0") find_package(KDE4 4.5.0 REQUIRED) include (KDE4Defaults) include (MacroLibrary) include (MacroOptionalAddSubdirectory) # Make sure that we're having RPATH on our installed libs, else using kdevelop # from prefixes like $HOME/kdevelop breaks # Code taken from FindKDE4Internal.cmake from KDE 4.5 list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_INSTALL_DIR}" _isSystemLibDir) if("${_isSystemLibDir}" STREQUAL "-1") set(CMAKE_INSTALL_RPATH "${LIB_INSTALL_DIR}") endif("${_isSystemLibDir}" STREQUAL "-1") set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) find_package(KDevPlatform 1.3.60 REQUIRED) include_directories(${KDEVPLATFORM_INCLUDE_DIR}) add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DHAVE_CONFIG_H=1) add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) include_directories(${KDevelop_SOURCE_DIR} ${KDevelop_BINARY_DIR} ${KDE4_INCLUDES} ) # TODO: Remove when LTS for g++ < 4.3 has ended. # See also: languages/cpp/parser/parser.h if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") include(CheckIncludeFileCXX) + set(CMAKE_REQUIRED_FLAGS "-std=c++0x") check_include_file_cxx(unordered_map HAVE_UNORDERED_MAP) + set(CMAKE_REQUIRED_FLAGS "") if(HAVE_UNORDERED_MAP) message(STATUS "Enabling c++0x support for unordered map") add_definitions( -std=c++0x ) # For unordered_map else(HAVE_UNORDERED_MAP) check_include_file_cxx(ext/hash_map HAVE_EXT_HASH_MAP) endif(HAVE_UNORDERED_MAP) endif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # create config.h include (ConfigureChecks.cmake) configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h ) add_subdirectory(cmake) add_subdirectory(pics) add_subdirectory(app) add_subdirectory(formatters) add_subdirectory(languages) add_subdirectory(projectbuilders) add_subdirectory(projectmanagers) add_subdirectory(debuggers) add_subdirectory(app_templates) add_subdirectory(documentation) add_subdirectory(providers) add_subdirectory(utils) add_subdirectory(doc) #macro_optional_add_subdirectory(doc) macro_display_feature_log() include(CTest) # CTestCustom.cmake has to be in the CTEST_BINARY_DIR. # in the KDE build system, this is the same as CMAKE_BINARY_DIR. configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR}/CTestCustom.cmake)