include_guard(GLOBAL)
if(WIN32)
    set(__sdk_username "$ENV{USERNAME}")
else()
    set(__sdk_username "$ENV{USER}")
endif()

if(".${__sdk_username}" STREQUAL ".")
    set(__sdk_username "(I-have-no-name)")
endif()

if(WIN32)
    set(__sdk_target_os "windows")
else()
    string(REGEX MATCH "^Linux (.+)-Microsoft\$" __sdk_target_os_match "${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}")
    if(__sdk_target_os_match)
        set(__sdk_target_os "Windows-WSL")
    else()
        set(__sdk_target_os "${CMAKE_SYSTEM_NAME}")
    endif()
endif()

if(NOT CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME)
    set(__sdk_host_os "${CMAKE_HOST_SYSTEM_NAME}-cross-")
else()
    set(__sdk_host_os "")
endif()

set(__sdk_paths_basename "sdk-paths-${__sdk_username}@${CMAKE_CXX_COMPILER_ID}-${__sdk_host_os}${__sdk_target_os}.cmake")
set(__sdk_paths_filename "${CMAKE_SOURCE_DIR}/${__sdk_paths_basename}")

if(EXISTS "${__sdk_paths_filename}")
    message(STATUS "Loading user settings '${__sdk_paths_basename}'")
    include("${__sdk_paths_filename}")
else()
    message(STATUS "User settings file '${__sdk_paths_basename}' doesn't exist")
endif()