Guest User

Untitled

a guest
Jul 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. cmake_minimum_required( VERSION 3.6 )
  2.  
  3. function(BUILD_SIMULINK model)
  4.  
  5. set(OUTPUT_FILE ${model}.dll)
  6. set(SOURCE_FILE ${model}.slx)
  7. set(EXECUTE_COMMAND
  8. matlab -nojvm -nodisplay -nodesktop -nosplash -wait -r "rtwbuild(${model})"
  9. )
  10.  
  11. add_custom_target(
  12. ${model} ALL
  13. DEPENDS ${OUTPUT_FILE}
  14. )
  15.  
  16. add_custom_command(
  17. COMMAND ${EXECUTE_COMMAND}
  18. DEPENDS ${SOURCE_FILE}
  19. OUTPUT ${OUTPUT_FILE}
  20. )
  21.  
  22. install( TARGETS ${OUTPUT_FILE}
  23. DESTINATION lib
  24. )
  25.  
  26. endfunction(BUILD_SIMULINK)
  27.  
  28. project(SimulinkBuild VERSION 1.0.0)
  29. build_simulink( model1 )
  30. build_simulink( model2 )
  31. build_simulink( model3 )
  32. ...
  33. build_simulink( modeln ) # Arbitrarily large number of models
  34.  
  35. cmake ..
  36. cmake --build . --target install
  37.  
  38. cmake ..
  39. cmake --build . -- /m # Visual Studio
  40. cmake --build . -- -j # Gnu make
  41.  
  42. cmake --build . --target install -j <number of threads>
  43.  
  44. cmake --build . --target install -- -j <number of threads>
  45.  
  46. cmake --build . --target install -- /m <number of threads>
Add Comment
Please, Sign In to add comment