没有pro文件的cmake项目中的Qt statemachine scxml?

Qt statemachine scxml in cmake project without pro file?

我有一个大型的 cmake 控制项目,我希望其中的一部分使用来自 qt 的 scxml 状态机。我的问题如下:

如何在没有 pro 文件的情况下添加 scxml 模块,据我所知不适用于 cmake?

类似于:

QT += scxm

您应该有一个要加载到 CMake 中的 Qt 组件列表,只需将 Scxml 添加到列表中即可。

find_package(Qt5 5.9 REQUIRED
             COMPONENTS Core Gui Widgets Xml Concurrent Scxml
)

除了将 Scxml 添加到 find_package(...) 宏之外,还需要额外的 CMake 步骤才能将 Qt SCXML 集成到您的应用程序中:

# Add package
find_package(Qt5 5.10 REQUIRED Core Scxml)

# Link libraries
target_link_libraries(myapp-lib Qt5::Core Qt5::Scxml)

# Process your *.scsml files with Qt SCXML Compiler (qscxmlc)
qt5_add_statecharts(QT_SCXML_COMPILED chart1.scxml chart2.scxml)

# Add to executable
add_executable(myapp main.cpp ${QT_SCXML_COMPILED})