set(swiftDriver_sources Action.cpp Compilation.cpp DependencyGraph.cpp Driver.cpp FrontendUtil.cpp Job.cpp OutputFileMap.cpp ParseableOutput.cpp ToolChain.cpp ToolChains.cpp Types.cpp ) set(swiftDriver_targetDefines) add_swift_library(swiftDriver STATIC ${swiftDriver_sources} DEPENDS SwiftOptions LINK_LIBRARIES swiftAST swiftBasic swiftFrontend swiftOption) # Generate the static-stdlib-args.lnk file used by -static-stdlib option # for 'GenericUnix' (eg linux) if(SWIFT_BUILD_STATIC_STDLIB) set(static_stdlib_lnk_file_list) foreach(sdk ${SWIFT_CONFIGURED_SDKS}) if("${SWIFT_SDK_${sdk}_OBJECT_FORMAT}" STREQUAL "ELF") string(TOLOWER "${sdk}" lowercase_sdk) if(SWIFT_LINUX_ICU_STATICLIB) set(ICU_STATICLIB "TRUE") else() set(ICU_STATICLIB "FALSE") find_package(ICU REQUIRED COMPONENTS uc i18n) get_filename_component(ICU_UC_LIBDIR "${ICU_UC_LIBRARY}" DIRECTORY) get_filename_component(ICU_I18N_LIBDIR "${ICU_I18N_LIBRARY}" DIRECTORY) endif() set(linkfile "${lowercase_sdk}/static-stdlib-args.lnk") add_custom_command_target(swift_static_stdlib_${sdk}_args COMMAND "${SWIFT_SOURCE_DIR}/utils/gen-static-stdlib-link-args" "${sdk}" "${SWIFTSTATICLIB_DIR}/${linkfile}" "${ICU_STATICLIB}" "${ICU_UC_LIBDIR}" "${ICU_I18N_LIBDIR}" OUTPUT "${SWIFTSTATICLIB_DIR}/${linkfile}" DEPENDS "${SWIFT_SOURCE_DIR}/utils/gen-static-stdlib-link-args") list(APPEND static_stdlib_lnk_file_list ${swift_static_stdlib_${sdk}_args}) swift_install_in_component(stdlib FILES "${SWIFTSTATICLIB_DIR}/${linkfile}" DESTINATION "lib/swift_static/${lowercase_sdk}") endif() endforeach() add_custom_target(swift_static_lnk_args ALL DEPENDS ${static_stdlib_lnk_file_list}) endif()