set(COMPONENT_NAME "FMU2me_vdp") set(COMPONENT_MAIN_DIR "${DEMO_FMU_MAIN_DIR}") set(COMPONENT_SOURCES vdpFMU.h vdpFMU.cpp) set(COMPONENT_RESOURCES_DIR "") set(COMPONENT_CHRONO_DEPENDENCIES Chrono_core) set(COMPONENT_DLL_DEPENDENCIES "") set(FMU_ME ON) #-------------------------------------------------------------- # Set include paths, compiler & linker flags, and libraries list(APPEND LIBS Chrono_core) include_directories(${FMU_FORGE_DIR}) #============================================================== message(STATUS "...add ${COMPONENT_NAME}") message(STATUS " FetchContent(fmu-forge)") set(FMU_MODEL_IDENTIFIER ${COMPONENT_NAME}) set(USE_CUSTOM_TYPESPLATFORM OFF) set(FMU_MAIN_DIRECTORY ${COMPONENT_MAIN_DIR}) set(FMU_RESOURCES_DIRECTORY ${COMPONENT_RESOURCES_DIR}) set(FMU_DEPENDENCIES ${COMPONENT_DLL_DEPENDENCIES}) set(FMU_MSG_PREFIX " - ") FetchContent_Declare( ${FMU_MODEL_IDENTIFIER} SOURCE_DIR ${FMU_FORGE_DIR}/fmi2 ) FetchContent_MakeAvailable(${FMU_MODEL_IDENTIFIER}) string(TOUPPER ${FMU_MODEL_IDENTIFIER} FMU_MODEL_IDENTIFIER_UPPERCASE) MARK_AS_ADVANCED(FETCHCONTENT_BASE_DIR) MARK_AS_ADVANCED(FETCHCONTENT_FULLY_DISCONNECTED) MARK_AS_ADVANCED(FETCHCONTENT_QUIET) MARK_AS_ADVANCED(FETCHCONTENT_SOURCE_DIR_${FMU_MODEL_IDENTIFIER_UPPERCASE}) MARK_AS_ADVANCED(FETCHCONTENT_UPDATES_DISCONNECTED) MARK_AS_ADVANCED(FETCHCONTENT_UPDATES_DISCONNECTED_${FMU_MODEL_IDENTIFIER_UPPERCASE}) #-------------------------------------------------------------- add_dependencies(${FMU_MODEL_IDENTIFIER} ${COMPONENT_CHRONO_DEPENDENCIES}) # add FMU target target_sources(${FMU_MODEL_IDENTIFIER} PRIVATE ${COMPONENT_SOURCES}) target_link_libraries(${FMU_MODEL_IDENTIFIER} ${LIBS}) if(MSVC) set_target_properties(${FMU_MODEL_IDENTIFIER} PROPERTIES MSVC_RUNTIME_LIBRARY ${CH_MSVC_RUNTIME_LIBRARY}) endif() #-------------------------------------------------------------- set(VDP_FMU2_MODEL_IDENTIFIER ${FMU_MODEL_IDENTIFIER} PARENT_SCOPE) set(VDP_FMU2_DIRECTORY ${FMU_DIRECTORY} PARENT_SCOPE) set(VDP_FMU2_FILENAME ${FMU_FILENAME} PARENT_SCOPE) set(VDP_FMU2_RUNTIME_OUTPUT_DIRECTORY ${FMU_RUNTIME_OUTPUT_DIRECTORY} PARENT_SCOPE)