include(RunCMake) run_cmake(EnvAndHints) run_cmake(DirsPerName) run_cmake(NamesPerDir) run_cmake(RelAndAbsPath) run_cmake(Required) run_cmake(NO_CACHE) run_cmake(IgnorePrefixPath) run_cmake(REGISTRY_VIEW-no-view) run_cmake(REGISTRY_VIEW-wrong-view) run_cmake(VALIDATOR-no-function) run_cmake(VALIDATOR-undefined-function) run_cmake(VALIDATOR-specify-macro) run_cmake(VALIDATOR) if(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$") run_cmake(WindowsCom) run_cmake(WindowsExe) else() # test non readable file only if not root execute_process( COMMAND id -u $ENV{USER} OUTPUT_VARIABLE uid OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT "${uid}" STREQUAL "0") run_cmake(CMP0109-WARN) run_cmake(CMP0109-OLD) run_cmake(CMP0109-NEW) endif() endif() if(APPLE) run_cmake(BundleSpaceInName) endif() run_cmake_with_options(EnvAndHintsDebugVar --debug-find-var=PROG) if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") # Tests using the Windows registry find_program(REG NAMES "reg.exe" NO_CACHE) if (REG) ## check host architecture cmake_host_system_information(RESULT result QUERY WINDOWS_REGISTRY "HKCU" SUBKEYS VIEW 64 ERROR_VARIABLE status) if (status STREQUAL "") set(ARCH "64bit") else() set(ARCH "32bit") endif() # crete some entries in the registry cmake_path(CONVERT "${RunCMake_SOURCE_DIR}/registry_host${ARCH}.reg" TO_NATIVE_PATH_LIST registry_data) execute_process(COMMAND "${REG}" import "${registry_data}" OUTPUT_QUIET ERROR_QUIET) run_cmake_with_options(Registry-query -DARCH=${ARCH}) # clean-up registry execute_process(COMMAND "${REG}" delete "HKCU\\SOFTWARE\\Classes\\CLSID\\CMake-Tests\\find_program" /f OUTPUT_QUIET ERROR_QUIET) if (ARCH STREQUAL "64bit") execute_process(COMMAND "${REG}" delete "HKCU\\SOFTWARE\\Classes\\WOW6432Node\\CLSID\\CMake-Tests\\find_program" /f OUTPUT_QUIET ERROR_QUIET) endif() endif() endif()