Skip to content

Commit d8e05b4

Browse files
compnerdrokhinip
authored andcommitted
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. Signed-off-by: Kim Topley <[email protected]>
1 parent 174bb90 commit d8e05b4

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
@@ -309,27 +309,19 @@ if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
309309
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
310310
"${PROJECT_SOURCE_DIR}/private/module.modulemap"
311311
COMMAND
312-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
312+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
313313
COMMAND
314-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
315-
elseif(CMAKE_SYSTEM_NAME STREQUAL Windows)
316-
add_custom_command(OUTPUT
317-
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
318-
"${PROJECT_SOURCE_DIR}/private/module.modulemap"
319-
COMMAND
320-
${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
321-
COMMAND
322-
${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
314+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
323315
else()
324316
add_custom_command(OUTPUT
325317
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
326318
"${PROJECT_SOURCE_DIR}/private/module.modulemap"
327319
COMMAND
328-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
320+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
329321
COMMAND
330-
${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
322+
${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap")
331323
endif()
332-
add_custom_target(module-map-symlinks
324+
add_custom_target(module-maps ALL
333325
DEPENDS
334326
"${PROJECT_SOURCE_DIR}/dispatch/module.modulemap"
335327
"${PROJECT_SOURCE_DIR}/private/module.modulemap")

0 commit comments

Comments
 (0)