2017-08-12 06:16:10 -07:00
|
|
|
project (rust_qt_binding_generator)
|
2017-08-02 14:29:32 -07:00
|
|
|
|
|
|
|
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
|
|
|
|
cmake_policy(SET CMP0046 NEW)
|
|
|
|
cmake_policy(SET CMP0063 NEW)
|
2017-08-20 14:36:33 -07:00
|
|
|
set(QT_MIN_VERSION "5.6.0")
|
2017-08-21 15:51:48 -07:00
|
|
|
set(KF5_MIN_VERSION "5.2.0")
|
|
|
|
|
|
|
|
find_package(ECM 1.0.0 NO_MODULE)
|
|
|
|
if (ECM_FOUND)
|
|
|
|
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
|
|
|
include(KDEInstallDirs)
|
|
|
|
include(KDECMakeSettings)
|
|
|
|
include(KDECompilerSettings)
|
|
|
|
endif()
|
2017-08-02 14:29:32 -07:00
|
|
|
|
|
|
|
include(FeatureSummary)
|
|
|
|
|
|
|
|
# Find Qt modules
|
2017-08-21 15:51:48 -07:00
|
|
|
find_package(Qt5 ${QT_MIN_VERSION} CONFIG
|
|
|
|
REQUIRED COMPONENTS
|
|
|
|
Core
|
|
|
|
Test
|
|
|
|
OPTIONAL_COMPONENTS
|
|
|
|
Widgets
|
|
|
|
Quick
|
2017-08-02 14:29:32 -07:00
|
|
|
)
|
2017-08-21 15:51:48 -07:00
|
|
|
find_package(Qt5QuickControls2 EXACT ${Qt5Core_VERSION})
|
|
|
|
find_package(Qt5Charts EXACT ${Qt5Core_VERSION})
|
2017-08-20 14:36:33 -07:00
|
|
|
set(CMAKE_AUTOMOC ON)
|
2017-08-02 14:29:32 -07:00
|
|
|
|
2017-08-21 15:51:48 -07:00
|
|
|
if (ECM_FOUND)
|
|
|
|
# Find KDE Modules
|
|
|
|
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
|
|
|
|
CoreAddons # KAboutData
|
|
|
|
I18n # KLocalizedString
|
|
|
|
WidgetsAddons # KMessageBox
|
|
|
|
)
|
|
|
|
find_package(KF5Kirigami CONFIG)
|
|
|
|
endif()
|
|
|
|
|
2017-08-02 14:29:32 -07:00
|
|
|
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
2017-08-06 06:57:51 -07:00
|
|
|
|
2017-08-11 08:24:24 -07:00
|
|
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER)
|
|
|
|
if(CMAKE_BUILD_TYPE_UPPER STREQUAL DEBUG)
|
2017-08-21 15:51:48 -07:00
|
|
|
set(RUST_TARGET_DIR target/debug/)
|
|
|
|
set(RUST_BUILD_FLAG)
|
2017-08-11 08:24:24 -07:00
|
|
|
else()
|
2017-08-21 15:51:48 -07:00
|
|
|
set(RUST_TARGET_DIR target/release/)
|
|
|
|
set(RUST_BUILD_FLAG --release)
|
2017-08-11 08:24:24 -07:00
|
|
|
endif()
|
|
|
|
|
2017-08-22 04:45:34 -07:00
|
|
|
add_subdirectory(src)
|
2017-08-21 15:51:48 -07:00
|
|
|
|
2017-08-20 14:36:33 -07:00
|
|
|
enable_testing()
|
2017-08-11 08:24:24 -07:00
|
|
|
add_subdirectory(tests)
|
2017-08-20 14:36:33 -07:00
|
|
|
|
|
|
|
if(Qt5Widgets_FOUND)
|
2017-08-21 15:51:48 -07:00
|
|
|
add_subdirectory(demo)
|
2017-08-20 14:36:33 -07:00
|
|
|
endif()
|
2017-08-11 08:24:24 -07:00
|
|
|
|