foreach(schema ${SCHEMA_VERSIONS}) add_library(geometry_serializer_ifc${schema} SHARED Serialization.cpp plugin.cpp) target_link_libraries(geometry_serializer_ifc${schema} PRIVATE plugin geometry_serializer IfcGeom IfcParse ${OpenCASCADE_LIBRARIES}) set_target_properties(geometry_serializer_ifc${schema} PROPERTIES COMPILE_FLAGS "-DIfcSchema=Ifc${schema}" OUTPUT_NAME "geometry.serialization.ifc${schema}" RUNTIME_OUTPUT_DIRECTORY "${geometry_serialization_plugin_runtime_dir}" LIBRARY_OUTPUT_DIRECTORY "${geometry_serialization_plugin_runtime_dir}" ) list(APPEND geometry_serializer_libraries geometry_serializer_ifc${schema}) endforeach() set(geometry_serializer_libraries ${geometry_serializer_libraries} PARENT_SCOPE)