Skip to content

Commit 662535c

Browse files
committed
support documentation folder
1 parent 8752e85 commit 662535c

1 file changed

Lines changed: 19 additions & 3 deletions

File tree

cmake/generate_fmu.cmake

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ set(_fmu4cpp_root "${_fmu4cpp_root}" CACHE INTERNAL "")
77
function(generateFMU modelIdentifier)
88

99
set(options WITH_SOURCES)
10-
set(oneValueArgs RESOURCE_FOLDER DESTINATION)
11-
set(multiValueArgs FMI_VERSIONS SOURCES LINK_TARGETS COMPILE_DEFINITIONS)
10+
set(oneValueArgs RESOURCE_FOLDER DOC_FOLDER DESTINATION)
11+
set(multiValueArgs FMI_VERSIONS SOURCES INCLUDE_DIRS LINK_TARGETS COMPILE_DEFINITIONS)
1212
cmake_parse_arguments(FMU "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
1313

1414
set(fmuResultDir "${CMAKE_BINARY_DIR}/models")
@@ -25,6 +25,10 @@ function(generateFMU modelIdentifier)
2525
set(FMU_RESOURCE_FOLDER "")
2626
endif ()
2727

28+
if (NOT FMU_DOC_FOLDER)
29+
set(FMU_DOC_FOLDER "")
30+
endif ()
31+
2832
# Require at least one fmi version; default to fmi2 if none provided
2933
if (NOT FMU_FMI_VERSIONS)
3034
message(FATAL_ERROR "generateFMU requires at least one FMI version to be specified")
@@ -41,6 +45,11 @@ function(generateFMU modelIdentifier)
4145

4246
add_library(${model_objects_target} OBJECT ${FMU_SOURCES})
4347
target_include_directories(${model_objects_target} PUBLIC "${_fmu4cpp_root}/export/include")
48+
# apply user-provided include dirs to the object target
49+
if (FMU_INCLUDE_DIRS)
50+
target_include_directories(${model_objects_target} PRIVATE ${FMU_INCLUDE_DIRS})
51+
endif ()
52+
# apply user-provided link targets to the object target
4453
if (FMU_LINK_TARGETS)
4554
target_link_libraries(${model_objects_target} PRIVATE ${FMU_LINK_TARGETS})
4655
endif ()
@@ -135,8 +144,15 @@ macro(_package_fmu)
135144
if (FMU_WITH_SOURCES AND fmiVersion STREQUAL "fmi3")
136145
list(APPEND TAR_INPUTS "${modelOutputDir}/sources" "${modelOutputDir}/sources/buildDescription.xml")
137146
endif ()
147+
148+
if (NOT FMU_DOC_FOLDER STREQUAL "")
149+
message("[generateFMU-${fmiVersion}] Using documentation folder=${FMU_DOC_FOLDER} for model '${modelIdentifier}'")
150+
file(COPY "${FMU_DOC_FOLDER}/" DESTINATION "${modelOutputDir}/documentation")
151+
list(PREPEND TAR_INPUTS "documentation")
152+
endif ()
153+
138154
if (NOT FMU_RESOURCE_FOLDER STREQUAL "")
139-
message("[generateFMU-${fmiVersion}] Using resourceFolder=${FMU_RESOURCE_FOLDER} for model '${modelIdentifier}'")
155+
message("[generateFMU-${fmiVersion}] Using resource folder=${FMU_RESOURCE_FOLDER} for model '${modelIdentifier}'")
140156
file(COPY "${FMU_RESOURCE_FOLDER}/" DESTINATION "${modelOutputDir}/resources")
141157
list(PREPEND TAR_INPUTS "resources")
142158
endif ()

0 commit comments

Comments
 (0)