Прямого аналога CMake у "mktemp" нет.
Внутри скрипта CMake или файла CMakeLists.txt лучше всего использовать
file(MAKE_DIRECTORY "/path/to/dir/name")
, и дайте ему имя каталога, к которому у вас есть права на запись. Справка для команды file находится здесь: http://cmake.org/cmake/help/cmake-2-8-docs.html#command:file
Вы также можете просто использовать
$ENV{TMP}
если есть переменная окружения, которая указывает вам на системный временный каталог.
Если вы вызываете CMake напрямую, вы также можете использовать
cmake -E make_directory /path/to/dir/name
Наконец, см. Также команду execute_process, которая позволяет вам вызывать произвольные инструменты командной строки из скрипта cmake или файла CMakeLists и записывать вывод. Это может оказаться полезным, если у вас есть другой инструмент, который вы можете вызвать, который предоставляет вам функциональность mktemp. http://cmake.org/cmake/help/cmake-2-8-docs.html#command:execute_process