33

カスタムコマンドがあります

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 を生成しています。

ただし、PRE_BUILD は VS2010 でのみサポートされてconfig.hいるため、リンク前にビルドされます。

cmake がソースのコンパイルを開始する前にカスタム コマンドを作成するにはどうすればよいですか。

4

2 に答える 2

51

add_custom_target代わりに andを使用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

于 2013-04-12T14:15:36.790 に答える