diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt index 4134daa..35e5e17 100644 --- a/Kernel/CMakeLists.txt +++ b/Kernel/CMakeLists.txt @@ -25,14 +25,18 @@ elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") endif() endforeach() else() - # Linux: find swiftc in PATH, derive resource dir from its location + # Linux: find swiftc in PATH find_program(_SWIFTC_EXE swiftc) if(_SWIFTC_EXE) get_filename_component(_SWIFTC_BIN "${_SWIFTC_EXE}" DIRECTORY) get_filename_component(_SWIFTC_USR "${_SWIFTC_BIN}" DIRECTORY) + if(EXISTS "${_SWIFTC_USR}/lib/swift/embedded") set(SWIFTC "${_SWIFTC_EXE}") set(SWIFT_RESOURCE_DIR "${_SWIFTC_USR}/lib/swift") + elseif(EXISTS "${_SWIFTC_USR}/lib/swift/lib/swift/embedded") + set(SWIFTC "${_SWIFTC_EXE}") + set(SWIFT_RESOURCE_DIR "${_SWIFTC_USR}/lib/swift/lib/swift") endif() endif() endif()