mirror of
https://github.com/tuxdotrs/tpanel.git
synced 2026-09-20 02:19:03 +05:30
47 lines
1.5 KiB
CMake
47 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(tshell-cardwire LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Core Qml DBus)
|
|
|
|
qt_add_library(tshellcardwire SHARED src/cardwire.cpp src/cardwire.hpp)
|
|
target_include_directories(tshellcardwire PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/src")
|
|
|
|
qt_add_qml_module(tshellcardwire
|
|
URI Tshell.Cardwire
|
|
VERSION 0.1
|
|
DEPENDENCIES QtQml
|
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Tshell/Cardwire"
|
|
)
|
|
|
|
target_link_libraries(tshellcardwire PRIVATE Qt6::Core Qt6::Qml Qt6::DBus)
|
|
|
|
# Keep the backing library next to the plugin so "$ORIGIN" rpaths resolve both
|
|
# in the build tree and after install.
|
|
set(module_build_dir "${CMAKE_CURRENT_BINARY_DIR}/Tshell/Cardwire")
|
|
set_target_properties(tshellcardwire tshellcardwireplugin PROPERTIES
|
|
LIBRARY_OUTPUT_DIRECTORY "${module_build_dir}"
|
|
RUNTIME_OUTPUT_DIRECTORY "${module_build_dir}"
|
|
ARCHIVE_OUTPUT_DIRECTORY "${module_build_dir}"
|
|
BUILD_RPATH "$ORIGIN"
|
|
INSTALL_RPATH "$ORIGIN"
|
|
)
|
|
|
|
qt_query_qml_module(tshellcardwire
|
|
PLUGIN_TARGET module_plugin_target
|
|
TARGET_PATH module_target_path
|
|
QMLDIR module_qmldir
|
|
TYPEINFO module_typeinfo
|
|
)
|
|
|
|
set(module_dir "${CMAKE_INSTALL_PREFIX}/lib/qt-6/qml/${module_target_path}")
|
|
|
|
install(TARGETS tshellcardwire "${module_plugin_target}"
|
|
LIBRARY DESTINATION "${module_dir}"
|
|
RUNTIME DESTINATION "${module_dir}"
|
|
)
|
|
install(FILES "${module_qmldir}" "${module_typeinfo}" DESTINATION "${module_dir}")
|