Warning, /kdevelop/kdev-mercurial/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.0)
0002 
0003 project(mercurial)
0004 
0005 find_package (ECM "5.14.0" REQUIRED NO_MODULE)
0006 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${mercurial_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH})
0007 
0008 include(KDEInstallDirs)
0009 include(KDECompilerSettings NO_POLICY_SCOPE)
0010 include(KDECMakeSettings)
0011 include(ECMAddTests)
0012 include(ECMInstallIcons)
0013 include(ECMQtDeclareLoggingCategory)
0014 include(FeatureSummary)
0015 include(CheckCXXCompilerFlag)
0016 
0017 set(KF5_DEP_VERSION "5.15.0")
0018 find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS
0019     I18n
0020 )
0021 
0022 set(KDEVPLATFORM_VERSION "5.2.40")
0023 find_package(KDevPlatform ${KDEVPLATFORM_VERSION} CONFIG)
0024 set_package_properties(KDevPlatform PROPERTIES
0025     TYPE REQUIRED
0026 )
0027 
0028 add_definitions(
0029     -DQT_DEPRECATED_WARNINGS
0030     -DQT_DISABLE_DEPRECATED_BEFORE=0x050500
0031     -DQT_NO_URL_CAST_FROM_STRING
0032     -DQT_STRICT_ITERATORS
0033     -DQT_USE_FAST_OPERATOR_PLUS
0034 )
0035 
0036 check_cxx_compiler_flag(-Wno-missing-field-initializers HAVE_MFI_FLAG)
0037 check_cxx_compiler_flag(-Werror=undefined-bool-conversion HAVE_UBC_FLAG)
0038 check_cxx_compiler_flag(-Werror=tautological-undefined-compare HAVE_TUC_FLAG)
0039 if (HAVE_MFI_FLAG)
0040     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers")
0041 endif()
0042 if (HAVE_UBC_FLAG)
0043     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=undefined-bool-conversion")
0044 endif()
0045 if (HAVE_TUC_FLAG)
0046     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=tautological-undefined-compare")
0047 endif()
0048 
0049 add_definitions( -DTRANSLATION_DOMAIN=\"kdevmercurial\" )
0050 
0051 ecm_qt_declare_logging_category(kdevmercurial_LOG_SRCS
0052     HEADER debug.h
0053     IDENTIFIER PLUGIN_MERCURIAL
0054     CATEGORY_NAME "kdevplatform.plugins.mercurial"
0055 )
0056 
0057 set(kdevmercurial_PART_SRCS
0058     ui/mercurialqueuesmanager.cpp
0059     ui/mercurialheadswidget.cpp
0060     models/mercurialqueueseriesmodel.cpp
0061     models/mercurialheadsmodel.cpp
0062     mercurialpushjob.cpp
0063     mercurialannotatejob.cpp
0064     mercurialvcslocationwidget.cpp
0065     mercurialplugin.cpp
0066     mercurialpluginmetadata.cpp
0067     mercurialjob.cpp
0068     ${kdevmercurial_LOG_SRCS}
0069 )
0070 
0071 set(kdevmercurial_UIS
0072     ui/mercurialheadswidget.ui
0073     ui/mercurialqueuesmanager.ui
0074 )
0075 
0076 ki18n_wrap_ui(kdevmercurial_PART_SRCS ${kdevmercurial_UIS})
0077 kdevplatform_add_plugin(kdevmercurial JSON kdevmercurial.json SOURCES ${kdevmercurial_PART_SRCS})
0078 
0079 target_link_libraries(kdevmercurial
0080     KDev::Util
0081     KDev::Interfaces
0082     KDev::Vcs
0083     KDev::Project
0084 )
0085 
0086 # process tests subfolder only after ui files have been registered to cmake above
0087 # so that proper dependencies are created for the included generated headers
0088 add_subdirectory(tests)
0089 add_subdirectory(icons)
0090 
0091 # kdebugsettings file
0092 install(FILES kdevmercurial.categories DESTINATION ${KDE_INSTALL_CONFDIR})
0093 
0094 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)