Skip to content

Commit 1efade0

Browse files
committed
[cmake] Move install() after set_target_properties() to workaround crash
Calling install() on a framework target before setting the FRAMEWORK property triggers a [crash](https://gitlab.kitware.com/cmake/cmake/issues/18848). Workaround by changing the call order.
1 parent 1761b4b commit 1efade0

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -323,11 +323,6 @@ macro(add_sourcekit_framework name)
323323

324324

325325
if (SOURCEKIT_DEPLOYMENT_OS MATCHES "^macosx")
326-
swift_install_in_component(${SOURCEKITFW_INSTALL_IN_COMPONENT}
327-
TARGETS ${name}
328-
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
329-
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
330-
RUNTIME DESTINATION bin)
331326
set_output_directory(${name}
332327
BINARY_DIR ${SOURCEKIT_RUNTIME_OUTPUT_INTDIR}
333328
LIBRARY_DIR ${SOURCEKIT_LIBRARY_OUTPUT_INTDIR})
@@ -341,11 +336,13 @@ macro(add_sourcekit_framework name)
341336
MACOSX_FRAMEWORK_SHORT_VERSION_STRING "1.0"
342337
MACOSX_FRAMEWORK_BUNDLE_VERSION "${SOURCEKIT_VERSION_STRING}"
343338
PUBLIC_HEADER "${headers}")
344-
else()
345339
swift_install_in_component(${SOURCEKITFW_INSTALL_IN_COMPONENT}
346-
DIRECTORY ${framework_location}
347-
DESTINATION lib${LLVM_LIBDIR_SUFFIX}
348-
USE_SOURCE_PERMISSIONS)
340+
TARGETS ${name}
341+
FRAMEWORK DESTINATION lib${LLVM_LIBDIR_SUFFIX}
342+
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
343+
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
344+
RUNTIME DESTINATION bin)
345+
else()
349346
set_output_directory(${name}
350347
BINARY_DIR ${framework_location}
351348
LIBRARY_DIR ${framework_location})
@@ -355,6 +352,10 @@ macro(add_sourcekit_framework name)
355352
INSTALL_NAME_DIR "@rpath/${name}.framework"
356353
PREFIX ""
357354
SUFFIX "")
355+
swift_install_in_component(${SOURCEKITFW_INSTALL_IN_COMPONENT}
356+
DIRECTORY ${framework_location}
357+
DESTINATION lib${LLVM_LIBDIR_SUFFIX}
358+
USE_SOURCE_PERMISSIONS)
358359

359360
foreach(hdr ${headers})
360361
get_filename_component(hdrname ${hdr} NAME)

0 commit comments

Comments
 (0)