使用 CMake 和 emscripten 构建 C++/web-assembly 项目时,install目标命令仅安装.js文件而不安装.wasm文件。
install(TARGETS MyTarget RUNTIME DESTINATION ${CMAKE_BINARY_DIR}/dist)
Run Code Online (Sandbox Code Playgroud)
这将仅安装 JS 文件。我尝试为LIBRARY, RESOURCE, ARCHIVE...添加规则,但从未复制 Wasm。我在官方文档中找不到任何内容。
我知道使用install(FILES ...命令强制复制 wasm很容易解决,但是有没有办法让标准安装对这两个文件都有效?他们都需要作为目标......
小智 3
这是问题中提到的解决方法的示例,适用于像我这样在谷歌搜索后登陆此页面的人。
if (NOT EMSCRIPTEN)
install(TARGETS MyTarget RUNTIME DESTINATION ${CMAKE_BINARY_DIR}/dist)
else()
install(FILES
"$<TARGET_FILE_DIR:MyTarget>/MyTarget.js"
"$<TARGET_FILE_DIR:MyTarget>/MyTarget.wasm"
DESTINATION ${CMAKE_BINARY_DIR}/dist)
endif()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |