function(TEMPORARY_DIRECTORY)
if(NOT DEFINED TEMPORARY_DIRECTORY)
if(DEFINED ENV{TMPDIR})
set(TEMPORARY_DIRECTORY $ENV{TMPDIR})
elseif(DEFINED ENV{TEMP})
set(TEMPORARY_DIRECTORY $ENV{TEMP})
elseif(DEFINED ENV{TMP})
set(TEMPORARY_DIRECTORY $ENV{TMP})
endif()
endif()
if(NOT DEFINED TEMPORARY_DIRECTORY)
find_program(MKTEMP NAMES mktemp)
if(EXISTS "${MKTEMP}")
execute_process(COMMAND ${MKTEMP} -d OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE dir RESULT_VARIABLE result)
if(result EQUAL 0)
get_filename_component(TEMPORARY_DIRECTORY "${dir}" DIRECTORY)
endif()
endif()
endif()
if(DEFINED TEMPORARY_DIRECTORY)
set(TEMPORARY_DIRECTORY ${TEMPORARY_DIRECTORY} CACHE PATH "Path to system temporary directory.")
endif()
endfunction()
if(NOT DEFINED TEMPORARY_DIRECTORY)
TEMPORARY_DIRECTORY()
endif()