diff options
Diffstat (limited to 'cmake/opentrack-load-user-settings.cmake')
| -rw-r--r-- | cmake/opentrack-load-user-settings.cmake | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/cmake/opentrack-load-user-settings.cmake b/cmake/opentrack-load-user-settings.cmake new file mode 100644 index 00000000..fdb63936 --- /dev/null +++ b/cmake/opentrack-load-user-settings.cmake @@ -0,0 +1,36 @@ +include_guard(GLOBAL) +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + 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_filename "${CMAKE_CURRENT_SOURCE_DIR}/sdk-paths-${__sdk_username}@${CMAKE_CXX_COMPILER_ID}-${__sdk_host_os}${__sdk_target_os}.cmake") + +if(EXISTS "${__sdk_paths_filename}") + message(STATUS "Loading user settings '${__sdk_paths_filename}'") + include("${__sdk_paths_filename}") +else() + message(STATUS "User settings file '${__sdk_paths_filename}' doesn't exist") +endif() |
