diff options
Diffstat (limited to 'share/cmake-3.6/Modules/Platform/WindowsPaths.cmake')
-rw-r--r-- | share/cmake-3.6/Modules/Platform/WindowsPaths.cmake | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/share/cmake-3.6/Modules/Platform/WindowsPaths.cmake b/share/cmake-3.6/Modules/Platform/WindowsPaths.cmake new file mode 100644 index 0000000..eafa8fa --- /dev/null +++ b/share/cmake-3.6/Modules/Platform/WindowsPaths.cmake @@ -0,0 +1,102 @@ + +#============================================================================= +# Copyright 2006-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + +# 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] +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() + +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 + ) |