WindowsPaths.cmake 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Add the program-files folder(s) to the list of installation
  2. # prefixes.
  3. #
  4. # Windows 64-bit Binary:
  5. # ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
  6. # ENV{ProgramFiles} = [C:\Program Files]
  7. # ENV{ProgramW6432} = <not set>
  8. # (executed from cygwin):
  9. # ENV{ProgramFiles(x86)} = <not set>
  10. # ENV{ProgramFiles} = [C:\Program Files]
  11. # ENV{ProgramW6432} = <not set>
  12. #
  13. # Windows 32-bit Binary:
  14. # ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
  15. # ENV{ProgramFiles} = [C:\Program Files (x86)]
  16. # ENV{ProgramW6432} = [C:\Program Files]
  17. # (executed from cygwin):
  18. # ENV{ProgramFiles(x86)} = <not set>
  19. # ENV{ProgramFiles} = [C:\Program Files (x86)]
  20. # ENV{ProgramW6432} = [C:\Program Files]
  21. IF(DEFINED "ENV{ProgramW6432}")
  22. # 32-bit binary on 64-bit windows.
  23. # The 64-bit program files are in ProgramW6432.
  24. LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramW6432}")
  25. # The 32-bit program files are in ProgramFiles.
  26. IF(DEFINED "ENV{ProgramFiles}")
  27. LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
  28. ENDIF()
  29. ELSE()
  30. # 64-bit binary, or 32-bit binary on 32-bit windows.
  31. IF(DEFINED "ENV{ProgramFiles}")
  32. LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
  33. ENDIF()
  34. IF(DEFINED "ENV{ProgramFiles(x86)}")
  35. # 64-bit binary. 32-bit program files are in ProgramFiles(x86).
  36. LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles(x86)}")
  37. ELSEIF(DEFINED "ENV{SystemDrive}")
  38. # Guess the 32-bit program files location.
  39. IF(EXISTS "$ENV{SystemDrive}/Program Files (x86)")
  40. LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
  41. "$ENV{SystemDrive}/Program Files (x86)")
  42. ENDIF()
  43. ENDIF()
  44. ENDIF()
  45. # Add the CMake install location.
  46. GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
  47. GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
  48. LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
  49. # Add other locations.
  50. LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
  51. # Project install destination.
  52. "${CMAKE_INSTALL_PREFIX}"
  53. # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
  54. /
  55. )
  56. LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
  57. )
  58. # mingw can also link against dlls which can also be in /bin, so list this too
  59. LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
  60. "${CMAKE_INSTALL_PREFIX}/bin"
  61. "${_CMAKE_INSTALL_DIR}/bin"
  62. /bin
  63. )
  64. LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
  65. )