summaryrefslogtreecommitdiffhomepage
path: root/cmake/opentrack-load-user-settings.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/opentrack-load-user-settings.cmake')
-rw-r--r--cmake/opentrack-load-user-settings.cmake24
1 files changed, 18 insertions, 6 deletions
diff --git a/cmake/opentrack-load-user-settings.cmake b/cmake/opentrack-load-user-settings.cmake
index ede46d7c..fdb63936 100644
--- a/cmake/opentrack-load-user-settings.cmake
+++ b/cmake/opentrack-load-user-settings.cmake
@@ -1,4 +1,5 @@
-if(WIN32)
+include_guard(GLOBAL)
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(__sdk_username "$ENV{USERNAME}")
else()
set(__sdk_username "$ENV{USER}")
@@ -9,16 +10,27 @@ if(".${__sdk_username}" STREQUAL ".")
endif()
if(WIN32)
- set(__sdk_os "windows")
+ set(__sdk_target_os "windows")
else()
- set(__sdk_os "$ENV{OSTYPE}")
+ 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()
-include(CMakeDetermineCCompiler)
-include(CMakeDetermineCXXCompiler)
+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_SOURCE_DIR}/sdk-paths-${__sdk_username}@${CMAKE_CXX_COMPILER_ID}-${__sdk_os}.cmake")
+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()