Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cmake_minimum_required( VERSION 3.6 )
- function(BUILD_SIMULINK model)
- set(OUTPUT_FILE ${model}.dll)
- set(SOURCE_FILE ${model}.slx)
- set(EXECUTE_COMMAND
- matlab -nojvm -nodisplay -nodesktop -nosplash -wait -r "rtwbuild(${model})"
- )
- add_custom_target(
- ${model} ALL
- DEPENDS ${OUTPUT_FILE}
- )
- add_custom_command(
- COMMAND ${EXECUTE_COMMAND}
- DEPENDS ${SOURCE_FILE}
- OUTPUT ${OUTPUT_FILE}
- )
- install( TARGETS ${OUTPUT_FILE}
- DESTINATION lib
- )
- endfunction(BUILD_SIMULINK)
- project(SimulinkBuild VERSION 1.0.0)
- build_simulink( model1 )
- build_simulink( model2 )
- build_simulink( model3 )
- ...
- build_simulink( modeln ) # Arbitrarily large number of models
- cmake ..
- cmake --build . --target install
- cmake ..
- cmake --build . -- /m # Visual Studio
- cmake --build . -- -j # Gnu make
- cmake --build . --target install -j <number of threads>
- cmake --build . --target install -- -j <number of threads>
- cmake --build . --target install -- /m <number of threads>
Add Comment
Please, Sign In to add comment