我想添加一个名为"package"的自定义目标,它取决于安装目标.当我运行make package它应该首先运行make install,然后运行我的自定义命令来创建一个包.
我尝试了以下DEPENDS install但它不起作用.
我收到错误消息:没有规则来制作目标CMakeFiles/install.dir/all,需要CMakeFiles/package.dir/all
install(FILES
"module/module.pexe"
"module/module.nmf"
DESTINATION "./extension")
add_custom_target(package
COMMAND "chromium-browser" "--pack-extension=./extension"
DEPENDS install)
Run Code Online (Sandbox Code Playgroud)
编辑:我尝试过DEPENDS install关键字,add_dependencies(package install)但它们都不起作用.
根据http://public.kitware.com/Bug/view.php?id=8438
,无法向内置目标添加依赖项,例如install或test
小智 7
您可以创建自定义目标,然后运行安装和其他一些脚本.
例如,如果你有一个CMake脚本MyScript.cmake:
add_custom_target(
MyInstall
COMMAND
"${CMAKE_COMMAND}" --build . --target install
COMMAND
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/MyScript.cmake"
WORKING_DIRECTORY
"${CMAKE_BINARY_DIR}"
)
Run Code Online (Sandbox Code Playgroud)
您可以通过构建目标来运行它MyInstall:
cmake --build /path/to/build/directory --target MyInstall
Run Code Online (Sandbox Code Playgroud)
当然,您可以使用任何脚本语言.只记得对其他平台礼貌(所以编写bash脚本可能是个坏主意,它不能在windows上运行).
例如python脚本MyScript.py:
find_package(PythonInterp 3.2 REQUIRED)
add_custom_target(
MyInstall
COMMAND
"${CMAKE_COMMAND}" --build . --target install
COMMAND
"${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_LIST_DIR}/MyScript.py"
WORKING_DIRECTORY
"${CMAKE_BINARY_DIR}"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11038 次 |
| 最近记录: |