没有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})
我有一个大型的 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})