rust-qt-binding-generator/CMakeLists.txt

73 lines
1.8 KiB
CMake
Raw Normal View History

2017-08-02 14:29:32 -07:00
project (RMail)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
cmake_policy(SET CMP0046 NEW)
cmake_policy(SET CMP0063 NEW)
set(QT_MIN_VERSION "5.3.0")
set(KF5_MIN_VERSION "5.2.0")
find_package(ECM 1.0.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(ExternalProject)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings)
include(FeatureSummary)
2017-08-04 04:21:11 -07:00
#add_custom_target(rust
# OUTPUT "${CMAKE_SOURCE_DIR}/target/debug/librust.a"
# COMMAND cargo build
# COMMAND cargo build --release
# DEPENDS
2017-08-02 14:29:32 -07:00
set_directory_properties(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/Rust)
ExternalProject_Add(
rust
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_COMMAND cargo build
COMMAND cargo build --release
BINARY_DIR "${CMAKE_SOURCE_DIR}/common-rust"
INSTALL_COMMAND ""
LOG_BUILD ON)
# Find Qt modules
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
Core # QCommandLineParser, QStringLiteral
Widgets # QApplication
)
# Find KDE modules
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
CoreAddons # KAboutData
I18n # KLocalizedString
WidgetsAddons # KMessageBox
)
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
2017-08-03 02:18:52 -07:00
set(RMail_SRCS src/main.cpp src/RMailObject.cpp)
2017-08-02 14:29:32 -07:00
add_executable(RMail ${RMail_SRCS})
add_dependencies(RMail rust)
target_link_libraries(RMail
Qt5::Widgets
KF5::CoreAddons
KF5::I18n
KF5::WidgetsAddons
debug "${CMAKE_SOURCE_DIR}/common-rust/target/debug/librust.a"
optimized "${CMAKE_SOURCE_DIR}/common-rust/target/release/librust.a"
)
set_target_properties(RMail PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED ON
)
install(TARGETS RMail ${INSTALL_TARGETS_DEFAULT_ARGS})