# Mimick `GNUInstallDirs` for one more install directory, the one where # project's installed cmake subdirs go. # These functions are internal functions vendored in from GNUInstallDirs (with # new names), so we don't depend on unstable implementation details. They are # also simplified to only handle the cases we need. # # The purpose would appear to be making `CACHE PATH` vars in a way that # bypasses the legacy oddity that `-D<PATH>` gets canonicalized, despite # non-canonical `CACHE PATH`s being perfectly valid. macro(_GNUInstallPackageDir_cache_convert_to_path var description) get_property(_GNUInstallPackageDir_cache_type CACHE ${var} PROPERTY TYPE) if(_GNUInstallPackageDir_cache_type STREQUAL "UNINITIALIZED") file(TO_CMAKE_PATH "${${var}}" _GNUInstallPackageDir_cmakepath) set_property(CACHE ${var} PROPERTY TYPE PATH) set_property(CACHE ${var} PROPERTY VALUE "${_GNUInstallPackageDir_cmakepath}") set_property(CACHE ${var} PROPERTY HELPSTRING "${description}") unset(_GNUInstallPackageDir_cmakepath) endif() unset(_GNUInstallPackageDir_cache_type) endmacro() # Create a cache variable with default for a path. macro(_GNUInstallPackageDir_cache_path var default description) if(NOT DEFINED ${var}) set(${var} "${default}" CACHE PATH "${description}") endif() _GNUInstallPackageDir_cache_convert_to_path("${var}" "${description}") endmacro() _GNUInstallPackageDir_cache_path(CMAKE_INSTALL_PACKAGEDIR "lib${LLVM_LIBDIR_SUFFIX}/cmake" "Directories containing installed CMake modules (lib/cmake)")