set(sources
  dlopen.swift
  SKDRequestArray.swift
  SKDRequestDictionary.swift
  SKDResponse.swift
  SKDResponseArray.swift
  SKDResponseDictionary.swift
  SourceKitD.swift
  SourceKitDCore.swift
  SourceKitDRegistry.swift
  sourcekitd_functions.swift
  sourcekitd_uids.swift)

add_library(SourceKitD STATIC ${sources})
set_target_properties(SourceKitD PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
target_link_libraries(SourceKitD PUBLIC
  Csourcekitd)
target_link_libraries(SourceKitD PRIVATE
  SwiftToolsProtocols::SKLogging
  SwiftExtensions
  SwiftToolsProtocols::ToolsProtocolsSwiftExtensions
  $<$<NOT:$<PLATFORM_ID:Darwin>>:Foundation>)


add_library(SourceKitDForPlugin STATIC ${sources})
set_target_properties(SourceKitDForPlugin PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
target_compile_options(SourceKitDForPlugin PRIVATE
  $<$<COMPILE_LANGUAGE:Swift>:
    "SHELL:-module-alias SKLogging=_SKLoggingForPlugin"
    "SHELL:-module-alias SwiftExtensions=SwiftExtensionsForPlugin"
    "SHELL:-module-alias ToolsProtocolsSwiftExtensions=_ToolsProtocolsSwiftExtensionsForPlugin"
  >)
target_link_libraries(SourceKitDForPlugin PUBLIC
  Csourcekitd)
target_link_libraries(SourceKitDForPlugin PRIVATE
  SwiftToolsProtocols::_SKLoggingForPlugin
  SwiftExtensionsForPlugin
  SwiftToolsProtocols::_ToolsProtocolsSwiftExtensionsForPlugin
  $<$<NOT:$<PLATFORM_ID:Darwin>>:Foundation>)
