我有一个大型 cmake 控制项目,我希望其中一部分使用来自 qt 的 scxml 状态机。我的问题如下:
如何添加 scxml 模块而没有我理解的 pro 文件不适用于 cmake?
就像是:
QT += scxm
除了将 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})
您应该有一个 Qt 组件列表要加载到您的 CMake 中,只需添加Scxml
到列表中即可。
find_package(Qt5 5.9 REQUIRED
COMPONENTS Core Gui Widgets Xml Concurrent Scxml
)