GHS-MULTI-Initialize.cmake 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt or https://cmake.org/licensing for details.
  3. #Setup Greenhills MULTI specific compilation information
  4. if (NOT GHS_INT_DIRECTORY)
  5. #Assume the C:/ghs/int#### directory that is latest is preferred
  6. set(GHS_EXPECTED_ROOT "C:/ghs")
  7. if (EXISTS ${GHS_EXPECTED_ROOT})
  8. FILE(GLOB GHS_CANDIDATE_INT_DIRS RELATIVE
  9. ${GHS_EXPECTED_ROOT} ${GHS_EXPECTED_ROOT}/*)
  10. string(REGEX MATCHALL "int[0-9][0-9][0-9][0-9a-z]" GHS_CANDIDATE_INT_DIRS
  11. ${GHS_CANDIDATE_INT_DIRS})
  12. if (GHS_CANDIDATE_INT_DIRS)
  13. list(SORT GHS_CANDIDATE_INT_DIRS)
  14. list(GET GHS_CANDIDATE_INT_DIRS -1 GHS_INT_DIRECTORY)
  15. string(CONCAT GHS_INT_DIRECTORY ${GHS_EXPECTED_ROOT} "/"
  16. ${GHS_INT_DIRECTORY})
  17. endif ()
  18. endif ()
  19. #Try to look for known registry values
  20. if (NOT GHS_INT_DIRECTORY)
  21. find_path(GHS_INT_DIRECTORY INTEGRITY.ld PATHS
  22. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\GreenHillsSoftware6433c345;InstallLocation]" #int1122
  23. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\GreenHillsSoftware289b6625;InstallLocation]" #int1104
  24. )
  25. endif ()
  26. set(GHS_INT_DIRECTORY ${GHS_INT_DIRECTORY} CACHE PATH
  27. "Path to integrity directory")
  28. endif ()
  29. set(GHS_OS_DIR ${GHS_INT_DIRECTORY} CACHE PATH "OS directory")
  30. set(GHS_PRIMARY_TARGET "arm_integrity.tgt" CACHE STRING "target for compilation")
  31. set(GHS_BSP_NAME "simarm" CACHE STRING "BSP name")
  32. set(GHS_CUSTOMIZATION "" CACHE FILEPATH "optional GHS customization")
  33. mark_as_advanced(GHS_CUSTOMIZATION)
  34. set(GHS_GPJ_MACROS "" CACHE STRING "optional GHS macros generated in the .gpjs for legacy reasons")
  35. mark_as_advanced(GHS_GPJ_MACROS)