0
我有這個調用matlab來將.slx文件編譯成.dll文件的自定義構建。避免在不必要的時候在cmake中執行自定義命令
function(BUILD_SIMULINK model)
set(EXECUTE_COMMAND matlab -r "rtwbuild(${model})")
add_custom_target(
${model} ALL
COMMAND ${EXECUTE_COMMAND}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${model}.slx
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${model}.dll
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building: ${model}"
)
endfunction(BUILD_SIMULINK)
但我的問題是,每當我用cmake --build .
,這個命令就一定會執行。
當DEPENDS沒有改變並且OUTPUT存在時,我該如何防止執行該命令?我在尋找的內容類似於cmake在源文件沒有改變並且存在適當的目標文件時避免重新編譯c/cpp文件。