@@ -261,12 +261,26 @@ endif()
261261
262262
263263if (CMAKE_SYSTEM_NAME STREQUAL Darwin)
264- add_compile_options ($<$<OR :$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR} /dispatch/darwin/module.modulemap>
265- $<$<OR :$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR} /private /darwin/module.modulemap>)
264+ add_custom_command (OUTPUT
265+ "${PROJECT_SOURCE_DIR} /dispatch/module.modulemap"
266+ "${PROJECT_SOURCE_DIR} /private/module.modulemap"
267+ COMMAND
268+ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR} /dispatch/darwin/module.modulemap" "${PROJECT_SOURCE_DIR} /dispatch/module.modulemap"
269+ COMMAND
270+ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR} /private/darwin/module.modulemap" "${PROJECT_SOURCE_DIR} /private/module.modulemap" )
266271else ()
267- add_compile_options ($<$<OR :$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR} /dispatch/generic/module.modulemap>
268- $<$<OR :$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR} /private /generic/module.modulemap>)
272+ add_custom_command (OUTPUT
273+ "${PROJECT_SOURCE_DIR} /dispatch/module.modulemap"
274+ "${PROJECT_SOURCE_DIR} /private/module.modulemap"
275+ COMMAND
276+ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR} /dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR} /dispatch/module.modulemap"
277+ COMMAND
278+ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR} /private/generic/module.modulemap" "${PROJECT_SOURCE_DIR} /private/module.modulemap" )
269279endif ()
280+ add_custom_target (module-maps ALL
281+ DEPENDS
282+ "${PROJECT_SOURCE_DIR} /dispatch/module.modulemap"
283+ "${PROJECT_SOURCE_DIR} /private/module.modulemap" )
270284
271285configure_file ("${PROJECT_SOURCE_DIR} /cmake/config.h.in"
272286 "${PROJECT_BINARY_DIR} /config/config_ac.h" )
0 commit comments