Some fixes for CMakeLists.txt

Summary:
* bump cmake dep to 3.0, spares one policy (any target group for 2.8?)
* do cmake_minimum_required as first thing
* use ECM things only if ECM_FOUND
* do things covered by KDE{Compiler,CMake}Settings only if !ECM
* install the generator actually :)

Reviewers: vandenoever

Reviewed By: vandenoever

Differential Revision: https://phabricator.kde.org/D9357
master
Friedrich W. H. Kossebau 2017-12-16 12:12:10 +01:00
parent 98779b0d44
commit 3f5c1581c5
2 changed files with 23 additions and 13 deletions

View File

@ -1,23 +1,29 @@
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project (rust_qt_binding_generator) project (rust_qt_binding_generator)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
cmake_policy(SET CMP0046 NEW)
cmake_policy(SET CMP0063 NEW)
set(QT_MIN_VERSION "5.6.0") set(QT_MIN_VERSION "5.6.0")
set(KF5_MIN_VERSION "5.2.0") set(KF5_MIN_VERSION "5.2.0")
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
find_package(ECM 1.0.0 NO_MODULE) find_package(ECM 1.0.0 NO_MODULE)
if (ECM_FOUND) if (ECM_FOUND)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} LIST(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(KDEInstallDirs) include(KDEInstallDirs)
include(KDECMakeSettings) include(KDECMakeSettings)
include(KDECompilerSettings) include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMPoQmTools)
else()
if (POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif()
enable_testing()
set(CMAKE_AUTOMOC ON)
endif() endif()
set(CMAKE_AUTOUIC ON)
include(FeatureSummary) include(FeatureSummary)
include(ECMPoQmTools)
find_package(Cargo REQUIRED) find_package(Cargo REQUIRED)
find_package(Rust REQUIRED) find_package(Rust REQUIRED)
@ -51,8 +57,6 @@ find_package(Qt5 ${QT_MIN_VERSION} CONFIG
) )
find_package(Qt5QuickControls2 EXACT ${Qt5Core_VERSION}) find_package(Qt5QuickControls2 EXACT ${Qt5Core_VERSION})
find_package(Qt5Charts EXACT ${Qt5Core_VERSION}) find_package(Qt5Charts EXACT ${Qt5Core_VERSION})
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
find_package(KF5Kirigami2) find_package(KF5Kirigami2)
@ -69,13 +73,13 @@ endif()
add_subdirectory(src) add_subdirectory(src)
enable_testing()
add_subdirectory(tests) add_subdirectory(tests)
if(Qt5Widgets_FOUND AND Qt5Svg_FOUND) if(Qt5Widgets_FOUND AND Qt5Svg_FOUND)
add_subdirectory(demo) add_subdirectory(demo)
endif() endif()
install(FILES org.kde.rust_qt_binding_generator.appdata.xml if (ECM_FOUND)
DESTINATION ${KDE_INSTALL_METAINFODIR}) install(FILES org.kde.rust_qt_binding_generator.appdata.xml
DESTINATION ${KDE_INSTALL_METAINFODIR})
endif()

View File

@ -14,3 +14,9 @@ set_target_properties(rust_qt_binding_generator PROPERTIES
CXX_STANDARD 11 CXX_STANDARD 11
CXX_STANDARD_REQUIRED ON CXX_STANDARD_REQUIRED ON
) )
if (ECM_FOUND)
install(TARGETS rust_qt_binding_generator ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
else()
install(TARGETS rust_qt_binding_generator RUNTIME DESTINATION bin)
endif()