cmake - CMake:如何先执行add_custom_command

标签 cmake

我有一个自定义命令

add_custom_command(
    OUTPUT config.h
    PRE_BUILD
    COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mk_config_h.py ${CMAKE_CURRENT_BINARY_DIR}/config.h
)

我正在尝试先运行它,然后生成Unix Makefile。

但是,仅VS2010支持PRE_BUILD,这意味着config.h在链接之前已构建。

我如何在cmake开始编译源代码之前发出自定义命令。

最佳答案

您应该改用 add_custom_target add_dependencies 来使普通目标依赖它:

add_custom_target(
    myCustomTarget
    COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mk_config_h.py ${CMAKE_CURRENT_BINARY_DIR}/config.h
)
add_dependencies(myTarget myCustomTarget)

这应该确保在编译myTarget的源之前运行该命令。

关于cmake - CMake:如何先执行add_custom_command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972898/

相关文章:

c++ - 使用 Cmake 链接 libusb 时遇到问题

CMake编译错误..(未知CMake命令 "QT4_WRAP_UI")

c++ - LINK1104 的 Opencv 构建错误

cmake - CMAKE字符串比较失败

android - 如何让Android Studio忘记其CMake.exe的位置?

linux - 为 linux 构建不带 PNG_READ_eXIf_SUPPORTED 的 libpng

c++ - 使用 CMake 和 VS 从 Windows 上的现有代码生成 dll

curl - 找不到CURL(缺少: CURL_LIBRARY CURL_INCLUDE_DIR) on CMake

c++ - 解决 CMake 中的竞争包含目录

makefile - 使用 CMake 包含外部 makefile