Merge pull request #303 from compnerd/symlinks
build: fix symlink creation
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b7e55e..379a095 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -201,21 +201,19 @@
endif()
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
- add_custom_command(OUTPUT
- "${CMAKE_SOURCE_DIR}/dispatch/module.modulemap"
- "${CMAKE_SOURCE_DIR}/private/module.modulemap"
- COMMAND
- ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/darwin/module.modulemap" "${CMAKE_SOURCE_DIR}/dispatch/module.modulemap"
- COMMAND
- ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/darwin/module.modulemap" "${CMAKE_SOURCE_DIR}/private/module.modulemap")
+ add_custom_target(module-map-symlinks
+ ALL
+ COMMAND
+ ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/dispatch/darwin/module.modulemap" "${CMAKE_SOURCE_DIR}/dispatch/module.modulemap"
+ COMMAND
+ ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/private/darwin/module.modulemap" "${CMAKE_SOURCE_DIR}/private/module.modulemap")
else()
- add_custom_command(OUTPUT
- "${CMAKE_SOURCE_DIR}/dispatch/module.modulemap"
- "${CMAKE_SOURCE_DIR}/private/module.modulemap"
- COMMAND
- ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/generic/module.modulemap" "${CMAKE_SOURCE_DIR}/dispatch/module.modulemap"
- COMMAND
- ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/generic/module.modulemap" "${CMAKE_SOURCE_DIR}/private/module.modulemap")
+ add_custom_target(module-map-symlinks
+ ALL
+ COMMAND
+ ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/dispatch/generic/module.modulemap" "${CMAKE_SOURCE_DIR}/dispatch/module.modulemap"
+ COMMAND
+ ${CMAKE_COMMAND} -E create_symlink "${CMAKE_SOURCE_DIR}/private/generic/module.modulemap" "${CMAKE_SOURCE_DIR}/private/module.modulemap")
endif()
configure_file("${CMAKE_SOURCE_DIR}/cmake/config.h.in"
"${CMAKE_BINARY_DIR}/config/config_ac.h")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2ec2691..e6f265e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -99,6 +99,8 @@
SWIFT_FLAGS
-I ${CMAKE_SOURCE_DIR}
${swift_optimization_flags})
+ add_dependencies(swiftDispatch
+ module-map-symlinks)
target_sources(dispatch
PRIVATE
swift/DispatchStubs.cc