Running a bash command via CMake

前端 未结 1 413
陌清茗
陌清茗 2020-12-31 02:25

I\'m trying to have CMake either run three bash commands or a bash script. However, I can\'t seem to get it to work.

The bash commands are:

    cd $         


        
1条回答
  •  执念已碎
    2020-12-31 02:45

    execute_process() is executed during configure time. But you want this to run at build time, thus add_custom_command() and add_custom_target() is what you're looking for.

    In this special case you want to generate an output file, so you should go for add_custom_command() (both are essentially the same, but command produces one or multiple output files, while target does not.

    The cmake snippet for this should look something like the following:

    add_custom_command(
        OUTPUT ${CMAKE_SOURCE_DIR}/dependencies/library/lib.o
        WORKING_DIR ${CMAKE_SOURCE_DIR}/dependencies/library
        COMMAND make
    )
    

    You then have to add the output file in another target as dependency, and everything should (hopefully) work as expected.

    You can also add DEPENDS statements to the add_custom_command() call to rebuild the object file in case some input sources have changed.

    0 讨论(0)
提交回复
热议问题