60 lines
1.6 KiB
CMake
60 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(gitplusplus VERSION 0.1.0 LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
find_package(ECM 5.80 REQUIRED NO_MODULE)
|
|
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
|
|
|
|
# Probe for KF6 before including KDE macros (which need QT_MAJOR_VERSION)
|
|
find_package(KF6TextEditor QUIET CONFIG)
|
|
if(KF6TextEditor_FOUND)
|
|
set(QT_MAJOR_VERSION 6)
|
|
else()
|
|
set(QT_MAJOR_VERSION 5)
|
|
endif()
|
|
|
|
include(KDEInstallDirs)
|
|
include(KDECMakeSettings)
|
|
include(KDECompilerSettings NO_POLICY_SCOPE)
|
|
|
|
if(QT_MAJOR_VERSION EQUAL 6)
|
|
find_package(Qt6 REQUIRED COMPONENTS Core Widgets)
|
|
find_package(KF6I18n REQUIRED)
|
|
find_package(KF6CoreAddons REQUIRED)
|
|
set(KF_LINK_LIBS
|
|
KF6::TextEditor
|
|
KF6::I18n
|
|
Qt6::Core
|
|
Qt6::Widgets
|
|
)
|
|
set(PLUGIN_INSTALL_NS "kf6/ktexteditor")
|
|
message(STATUS "Building Git++ with KF6/Qt6")
|
|
else()
|
|
find_package(Qt5 REQUIRED COMPONENTS Core Widgets)
|
|
find_package(KF5TextEditor REQUIRED)
|
|
find_package(KF5I18n REQUIRED)
|
|
find_package(KF5CoreAddons REQUIRED)
|
|
set(KF_LINK_LIBS
|
|
KF5::TextEditor
|
|
KF5::I18n
|
|
Qt5::Core
|
|
Qt5::Widgets
|
|
)
|
|
set(PLUGIN_INSTALL_NS "ktexteditor")
|
|
message(STATUS "Building Git++ with KF5/Qt5")
|
|
endif()
|
|
|
|
kcoreaddons_add_plugin(gitplusplus
|
|
SOURCES
|
|
gitplusplus.cpp
|
|
gitstatusmodel.cpp
|
|
INSTALL_NAMESPACE "${PLUGIN_INSTALL_NS}"
|
|
)
|
|
|
|
target_link_libraries(gitplusplus ${KF_LINK_LIBS})
|
|
|
|
target_include_directories(gitplusplus PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|