Skip to content

Commit b32258b

Browse files
committed
[generateFMU] support optional resourceFolder
1 parent 013939c commit b32258b

5 files changed

Lines changed: 17 additions & 8 deletions

File tree

cmake/generate_fmu.cmake

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11

2-
function(generateFMU modelIdentifier fmiVersion resourceFolder)
2+
function(generateFMU modelIdentifier fmiVersion)
3+
4+
set(options)
5+
set(oneValueArgs RESOURCE_FOLDER)
6+
set(multiValueArgs)
7+
cmake_parse_arguments(FMU "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
8+
9+
if (NOT FMU_RESOURCE_FOLDER)
10+
set(FMU_RESOURCE_FOLDER "")
11+
endif()
312

413
target_sources(${modelIdentifier} PRIVATE "$<TARGET_OBJECTS:fmu4cpp_base>")
514

@@ -66,17 +75,17 @@ function(generateFMU modelIdentifier fmiVersion resourceFolder)
6675
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
6776
COMMAND descriptionGenerator ${modelIdentifier} "${outputDir}/$<TARGET_FILE_NAME:${modelIdentifier}>")
6877

69-
if (resourceFolder STREQUAL "")
78+
if (FMU_RESOURCE_FOLDER STREQUAL "")
7079
add_custom_command(TARGET ${modelIdentifier} POST_BUILD
7180
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/${modelIdentifier}"
7281
COMMAND ${CMAKE_COMMAND} -E tar "c" "${modelIdentifier}.fmu" --format=zip
7382
"${CMAKE_BINARY_DIR}/${modelIdentifier}/binaries"
7483
"${CMAKE_BINARY_DIR}/${modelIdentifier}/modelDescription.xml")
7584

7685
else ()
77-
message("[generateFMU] Using resourceFolder=${resourceFolder} for model with identifier='${modelIdentifier}'")
86+
message("[generateFMU] Using resourceFolder=${FMU_RESOURCE_FOLDER} for model with identifier='${modelIdentifier}'")
7887

79-
file(COPY "${resourceFolder}/" DESTINATION "${CMAKE_BINARY_DIR}/${modelIdentifier}/resources")
88+
file(COPY "${FMU_RESOURCE_FOLDER}/" DESTINATION "${CMAKE_BINARY_DIR}/${modelIdentifier}/resources")
8089

8190
add_custom_command(TARGET ${modelIdentifier} POST_BUILD
8291
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/${modelIdentifier}"

export/examples/BouncingBall/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ add_library(bouncing_ball SHARED
33
"bouncing_ball.cpp"
44
)
55

6-
generateFMU("bouncing_ball" "fmi3" "")
6+
generateFMU("bouncing_ball" "fmi3")

export/examples/Resource/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ add_library(resource SHARED
33
"resource.cpp"
44
)
55

6-
generateFMU("resource" "fmi2" "${CMAKE_CURRENT_SOURCE_DIR}/resources")
6+
generateFMU("resource" "fmi2" RESOURCE_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/resources")

export/examples/SimplePendulum/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ add_library(simple_pendulum SHARED
33
"simple_pendulum.cpp"
44
)
55

6-
generateFMU(simple_pendulum "fmi2" "")
6+
generateFMU(simple_pendulum "fmi2")

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ add_library(${modelIdentifier} SHARED
55
)
66

77
# Generate FMU
8-
generateFMU("${modelIdentifier}" ${fmi_version} "${PROJECT_SOURCE_DIR}/resources")
8+
generateFMU("${modelIdentifier}" ${fmi_version} RESOURCE_FOLDER "${PROJECT_SOURCE_DIR}/resources")
99

1010
# write the identifier to file so that the CI process knows what to package
1111
set(OUTPUT_FILE "${CMAKE_BINARY_DIR}/model.txt")

0 commit comments

Comments
 (0)