diff options
Diffstat (limited to 'cmake/opentrack-load-user-settings.cmake')
| -rw-r--r-- | cmake/opentrack-load-user-settings.cmake | 24 |
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() |
