diff --git a/CMakeLists.txt b/CMakeLists.txt index be0795e..1e8c0e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,94 +1,96 @@ project(mercurial) cmake_minimum_required(VERSION 2.8.12) find_package (ECM 0.0.9 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${mercurial_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) include(KDECompilerSettings NO_POLICY_SCOPE) include(ECMAddTests) include(ECMOptionalAddSubdirectory) include(ECMInstallIcons) include(ECMSetupVersion) include(ECMMarkAsTest) include(ECMMarkNonGuiExecutable) include(ECMGenerateHeaders) include(ECMPackageConfigHelpers) include(GenerateExportHeader) include(FeatureSummary) include(WriteBasicConfigVersionFile) include(CheckFunctionExists) include(KDEInstallDirs) include(KDECMakeSettings) find_package(KF5 REQUIRED COMPONENTS Config IconThemes I18n ItemModels ItemViews KCMUtils KIO) find_package(KDevPlatform 5.0.0 REQUIRED) include_directories( ${mercurial_BINARY_DIR} ${mercurial_SOURCE_DIR} ) add_definitions( -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050400 -DQT_NO_URL_CAST_FROM_STRING -DQT_STRICT_ITERATORS -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS ) check_cxx_compiler_flag(-Wno-missing-field-initializers HAVE_MFI_FLAG) check_cxx_compiler_flag(-Werror=undefined-bool-conversion HAVE_UBC_FLAG) check_cxx_compiler_flag(-Werror=tautological-undefined-compare HAVE_TUC_FLAG) if (HAVE_MFI_FLAG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers") endif() if (HAVE_UBC_FLAG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=undefined-bool-conversion") endif() if (HAVE_TUC_FLAG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=tautological-undefined-compare") endif() -add_subdirectory(tests) -add_subdirectory(icons) - ########### next target ############### set(kdevmercurial_PART_SRCS ui/mercurialqueuesmanager.cpp ui/mercurialheadswidget.cpp models/mercurialqueueseriesmodel.cpp models/mercurialheadsmodel.cpp mercurialpushjob.cpp mercurialannotatejob.cpp mercurialvcslocationwidget.cpp mercurialplugin.cpp mercurialpluginmetadata.cpp ) set(kdevmercurial_UIS ui/mercurialheadswidget.ui ui/mercurialqueuesmanager.ui ) ki18n_wrap_ui(kdevmercurial_PART_SRCS ${kdevmercurial_UIS}) kdevplatform_add_plugin(kdevmercurial JSON kdevmercurial.json SOURCES ${kdevmercurial_PART_SRCS}) target_link_libraries(kdevmercurial KDev::Util KDev::Interfaces KDev::Vcs KDev::Project ) +# process tests subfolder only after ui files have been registered to cmake above +# so that proper dependencies are created for the included generated headers +add_subdirectory(tests) +add_subdirectory(icons) + feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)