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 $
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.