Skip to content

Commit 23eaa98

Browse files
committed
build: always copy the modulemaps
Change from a symlink to a copy. This is more portable and fixes the distribution aspect. When the installation occurs, the symbolic link is not followed and a symbolic link is installed. Rather if we copy, we can get the contents. The files are small so the cost is relatively low.
1 parent f6376cb commit 23eaa98

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

CMakeLists.txt

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -310,27 +310,19 @@ if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
310310
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
311311
"${PROJECT_SOURCE_DIR}/private/module.modulemap"
312312
COMMAND
313-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
313+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
314314
COMMAND
315-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
316-
elseif(CMAKE_SYSTEM_NAME STREQUAL Windows)
317-
add_custom_command(OUTPUT
318-
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
319-
"${PROJECT_SOURCE_DIR}/private/module.modulemap"
320-
COMMAND
321-
${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
322-
COMMAND
323-
${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
315+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
324316
else()
325317
add_custom_command(OUTPUT
326318
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
327319
"${PROJECT_SOURCE_DIR}/private/module.modulemap"
328320
COMMAND
329-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
321+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
330322
COMMAND
331-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
323+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
332324
endif()
333-
add_custom_target(module-map-symlinks
325+
add_custom_target(module-maps ALL
334326
DEPENDS
335327
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
336328
"${PROJECT_SOURCE_DIR}/private/module.modulemap")

0 commit comments

Comments
 (0)