aboutsummaryrefslogtreecommitdiffstats
path: root/src/clapinterface/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/clapinterface/CMakeLists.txt')
-rw-r--r--src/clapinterface/CMakeLists.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/clapinterface/CMakeLists.txt b/src/clapinterface/CMakeLists.txt
new file mode 100644
index 0000000..1382251
--- /dev/null
+++ b/src/clapinterface/CMakeLists.txt
@@ -0,0 +1,45 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Qt-Commercial
+
+# Generate the protobuf and grpc files
+qt_add_protobuf(ClapMessages
+ QML
+ QML_URI "Clap.Messages"
+ PROTO_FILES ${clap-rci_PROTO}
+)
+
+qt_add_grpc(ClapMessages CLIENT
+ PROTO_FILES ${clap-rci_PROTO}
+)
+
+add_library(ClapInterface STATIC)
+file(REAL_PATH "Clap/Interface" QML_OUTPUT_DIR_INTERFACE BASE_DIRECTORY ${MODULE_OUT})
+qt_add_qml_module(ClapInterface
+ URI "Clap.Interface"
+ VERSION ${CMAKE_PROJECT_VERSION}
+ CLASS_NAME ClapInterfacePlugin
+ PLUGIN_TARGET clapinterfaceplugin
+ SOURCES
+ "qclapinterface.h"
+ "qclapinterface.cpp"
+ "qnotehandler.h"
+ "qnote.h"
+ OUTPUT_DIRECTORY ${QML_OUTPUT_DIR_INTERFACE}
+ IMPORTS Clap.Messages
+)
+
+target_link_libraries(ClapInterface PUBLIC
+ Qt6::Core
+ Qt6::Grpc
+ Qt6::Protobuf
+ ClapMessages
+)
+
+target_include_directories(ClapInterface PUBLIC
+ "${CMAKE_CURRENT_LIST_DIR}"
+ "${CMAKE_CURRENT_BINARY_DIR}"
+)
+target_include_directories(clapinterfaceplugin PUBLIC
+ "${CMAKE_CURRENT_LIST_DIR}"
+ "${CMAKE_CURRENT_BINARY_DIR}"
+)