| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| # file Copyright.txt or https://cmake.org/licensing for details. | |
| # Block multiple inclusion because "CMakeCInformation.cmake" includes | |
| # "Platform/${CMAKE_SYSTEM_NAME}" even though the generic module | |
| # "CMakeSystemSpecificInformation.cmake" already included it. | |
| # The extra inclusion is a work-around documented next to the include() | |
| # call, so this can be removed when the work-around is removed. | |
| if(__WINDOWS_PATHS_INCLUDED) | |
| return() | |
| endif() | |
| set(__WINDOWS_PATHS_INCLUDED 1) | |
| # Add the program-files folder(s) to the list of installation | |
| # prefixes. | |
| # | |
| # Windows 64-bit Binary: | |
| # ENV{ProgramFiles(x86)} = [C:\Program Files (x86)] | |
| # ENV{ProgramFiles} = [C:\Program Files] | |
| # ENV{ProgramW6432} = [C:\Program Files] or <not set> | |
| # | |
| # Windows 32-bit Binary on 64-bit Windows: | |
| # ENV{ProgramFiles(x86)} = [C:\Program Files (x86)] | |
| # ENV{ProgramFiles} = [C:\Program Files (x86)] | |
| # ENV{ProgramW6432} = [C:\Program Files] | |
| # | |
| # Reminder when adding new locations computed from environment variables | |
| # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst | |
| # synchronized | |
| set(_programfiles "") | |
| foreach(v "ProgramW6432" "ProgramFiles" "ProgramFiles(x86)") | |
| if(DEFINED "ENV{${v}}") | |
| file(TO_CMAKE_PATH "$ENV{${v}}" _env_programfiles) | |
| list(APPEND _programfiles "${_env_programfiles}") | |
| unset(_env_programfiles) | |
| endif() | |
| endforeach() | |
| if(DEFINED "ENV{SystemDrive}") | |
| foreach(d "Program Files" "Program Files (x86)") | |
| if(EXISTS "$ENV{SystemDrive}/${d}") | |
| list(APPEND _programfiles "$ENV{SystemDrive}/${d}") | |
| endif() | |
| endforeach() | |
| endif() | |
| if(_programfiles) | |
| list(REMOVE_DUPLICATES _programfiles) | |
| list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${_programfiles}) | |
| endif() | |
| unset(_programfiles) | |
| # Add the CMake install location. | |
| get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH) | |
| get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) | |
| list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}") | |
| if (NOT CMAKE_FIND_NO_INSTALL_PREFIX) | |
| # Add other locations. | |
| list(APPEND CMAKE_SYSTEM_PREFIX_PATH | |
| # Project install destination. | |
| "${CMAKE_INSTALL_PREFIX}" | |
| ) | |
| if (CMAKE_STAGING_PREFIX) | |
| list(APPEND CMAKE_SYSTEM_PREFIX_PATH | |
| # User-supplied staging prefix. | |
| "${CMAKE_STAGING_PREFIX}" | |
| ) | |
| endif() | |
| endif() | |
| _cmake_record_install_prefix() | |
| if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") | |
| # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set) | |
| list(APPEND CMAKE_SYSTEM_PREFIX_PATH /) | |
| endif() | |
| list(APPEND CMAKE_SYSTEM_INCLUDE_PATH | |
| ) | |
| # mingw can also link against dlls which can also be in /bin, so list this too | |
| if (NOT CMAKE_FIND_NO_INSTALL_PREFIX) | |
| list(APPEND CMAKE_SYSTEM_LIBRARY_PATH | |
| "${CMAKE_INSTALL_PREFIX}/bin" | |
| ) | |
| if (CMAKE_STAGING_PREFIX) | |
| list(APPEND CMAKE_SYSTEM_LIBRARY_PATH | |
| "${CMAKE_STAGING_PREFIX}/bin" | |
| ) | |
| endif() | |
| endif() | |
| list(APPEND CMAKE_SYSTEM_LIBRARY_PATH | |
| "${_CMAKE_INSTALL_DIR}/bin" | |
| /bin | |
| ) | |
| list(APPEND CMAKE_SYSTEM_PROGRAM_PATH | |
| ) |