#============================================================================= # CMake configuration file for demos of various Chrono::Vehicle models. # These example programs require Irrlicht run-time visualization. #============================================================================= if(NOT CH_ENABLE_MODULE_IRRLICHT AND NOT CH_ENABLE_MODULE_VSG) return() endif() #-------------------------------------------------------------- # List all demos set(DEMOS demo_VEH_M113 demo_VEH_M113_Band demo_VEH_Marder demo_VEH_TrackedJSON ) if(CH_ENABLE_MODULE_IRRLICHT) set(DEMOS ${DEMOS} demo_VEH_TrackedJSON_Band ) endif() #-------------------------------------------------------------- set(UTILS "../../SetChronoSolver.h") #-------------------------------------------------------------- # Include directories, compiler flags, libraries list(APPEND LIBS "Chrono_vehicle") list(APPEND LIBS "ChronoModels_vehicle") if(CH_ENABLE_MODULE_IRRLICHT) list(APPEND LIBS "Chrono_vehicle_irrlicht") endif() if(CH_ENABLE_MODULE_VSG) list(APPEND LIBS "Chrono_vehicle_vsg") endif() if(CH_ENABLE_MODULE_PARDISO_MKL) list(APPEND LIBS "Chrono_pardisomkl") endif() if(CH_ENABLE_MODULE_MUMPS) list(APPEND LIBS "Chrono_mumps") endif() #-------------------------------------------------------------- # Create the executables foreach(PROGRAM ${DEMOS}) # MESSAGE(STATUS "...add ${PROGRAM}") add_executable(${PROGRAM} ${PROGRAM}.cpp ${UTILS}) source_group("" FILES ${PROGRAM}.cpp ${UTILS}) if(APPLE) set_target_properties(${PROGRAM} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${MACOSX_BUNDLE_INFO_PLIST}) endif() if(MSVC) set_target_properties(${PROGRAM} PROPERTIES MSVC_RUNTIME_LIBRARY ${CH_MSVC_RUNTIME_LIBRARY}) endif() set_property(TARGET ${PROGRAM} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "$") target_link_libraries(${PROGRAM} ${LIBS}) install(TARGETS ${PROGRAM} CONFIGURATIONS Release DESTINATION ${CH_INSTALL_DEMO}) endforeach()