set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) # Installation directory for ontologies. Needed here because used in both ontology/ and lib/ sub # directories. set (KACTIVITIES_ONTOLOGIES_DIR ${CMAKE_INSTALL_PREFIX}/share/ontology/kde) add_definitions (-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) # Checking for Nepomuk macro_optional_find_package (NepomukCore) macro_log_feature ( NepomukCore_FOUND "Nepomuk Core" "Nepomuk Core" "https://projects.kde.org/nepomuk-core" FALSE "" "STRONGLY_RECOMMENDED: Nepomuk is needed for some activity-related info" ) if (NepomukCore_FOUND) find_package (Soprano) macro_log_feature ( Soprano_FOUND "Soprano" "Semantic Desktop Storing" "http://soprano.sourceforge.net" TRUE "" "Soprano is needed to build and use the Nepomuk related functionalities" ) include (SopranoAddOntology) endif () if (NepomukCore_FOUND AND Soprano_FOUND) set (HAVE_NEPOMUK 1) endif () # Testing for C++0x/C++11 features include (CheckCxxFeatures) cxx_check_feature ("c++11" "auto" "N2546" HAVE_CXX11_AUTO "${ADDITIONAL_DEFINITIONS}") cxx_check_feature ("c++11" "nullptr" "N2431" HAVE_CXX11_NULLPTR "${ADDITIONAL_DEFINITIONS}") cxx_check_feature ("c++11" "lambda" "N2927" HAVE_CXX11_LAMBDA "${ADDITIONAL_DEFINITIONS}") cxx_check_feature ("c++11" "override" "N3206" HAVE_CXX11_OVERRIDE "${ADDITIONAL_DEFINITIONS}") cxx_check_feature ("c++11" "unique_ptr" "none" HAVE_CXX11_UNIQUE_PTR "${ADDITIONAL_DEFINITIONS}") cxx_check_feature ("c++11" "variadic-templates" "N2242" HAVE_CXX11_VARIADIC_TEMPLATES "${ADDITIONAL_DEFINITIONS}") cxx_check_feature ("c++11" "initializer-lists" "N2672" HAVE_CXX11_INITIALIZER_LISTS "${ADDITIONAL_DEFINITIONS}") add_subdirectory (lib) # config file set (KAMD_DATA_DIR "${DATA_INSTALL_DIR}/activitymanager/") configure_file (config-features.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-features.h) # main part string (COMPARE EQUAL "${CXX_FEATURES_UNSUPPORTED}" "" CXX_COMPILER_IS_MODERN) if (NOT HAVE_CXX11_AUTO OR NOT HAVE_CXX11_LAMBDA OR NOT HAVE_CXX11_UNIQUE_PTR OR NOT HAVE_CXX11_VARIADIC_TEMPLATES OR NOT HAVE_CXX11_INITIALIZER_LISTS) macro_log_feature (FALSE "C++11 enabled compiler" "GCC >=4.5 or Clang 3.1" "http://www.open-std.org/jtc1/sc22/wg21/" FALSE "" "REQUIRED: You need a more modern compiler in order to build the Activity Manager daemon" ) else () if (CXX_COMPILER_IS_MODERN) macro_log_feature ( CXX_COMPILER_IS_MODERN "C++11 enabled compiler" "Your compiler is state-of-the-art" "http://www.open-std.org/jtc1/sc22/wg21/" FALSE "" "Your compiler doesn't support the following features: ${CXX_FEATURES_UNSUPPORTED} but the list of the supported ones is sufficient for the build: ${CXX_FEATURES_SUPPORTED}" ) else () macro_log_feature ( CXX_COMPILER_IS_MODERN "C++11 enabled compiler" "Having to use the latest versions of GCC and Clang would be awesome" "http://www.open-std.org/jtc1/sc22/wg21/" FALSE "" "Your compiler doesn't support the following features: ${CXX_FEATURES_UNSUPPORTED} but the list of the supported ones is sufficient for the build: ${CXX_FEATURES_SUPPORTED}" ) endif () add_subdirectory (service) # No point in having workspace addons without the service add_subdirectory (workspace) endif () add_subdirectory (ontologies)