readcon-db 0.1.4

Mmap-backed CON frame corpus (Heed/LMDB), xxHash exact match, multi-language FFI
Documentation
# Create a temporary directory using mktemp on *nix and powershell on windows
function(get_tempdir _outvar_)
    if (DEFINED ENV{RUNNER_TEMP})
        string(RANDOM LENGTH 12 _dirname_)
        set(_output_ $ENV{RUNNER_TEMP}/${_dirname_})
        file(TO_NATIVE_PATH "${_output_}" _output_)
        file(MAKE_DIRECTORY ${_output_})
        set(${_outvar_} ${_output_} PARENT_SCOPE)
        return()
    endif()

    find_program(MKTEMP_EXE NAMES mktemp)
    if(MKTEMP_EXE)
        execute_process(
            COMMAND ${MKTEMP_EXE} -d
            OUTPUT_VARIABLE _output_
            OUTPUT_STRIP_TRAILING_WHITESPACE
            RESULT_VARIABLE _status_
        )

        if(_status_ EQUAL 0)
            set(${_outvar_} ${_output_} PARENT_SCOPE)
            return()
        endif()
    endif()

    find_program(POWERSHELL_EXE NAMES pwsh)
    if(POWERSHELL_EXE)
        execute_process(
            COMMAND ${POWERSHELL_EXE} -c "[System.IO.Path]::GetTempPath()"
            OUTPUT_VARIABLE _output_
            OUTPUT_STRIP_TRAILING_WHITESPACE
            RESULT_VARIABLE _status_
        )

        if(_status_ EQUAL 0)
            string(RANDOM LENGTH 12 _dirname_)
            set(_output_ ${_output_}${_dirname_})
            file(MAKE_DIRECTORY ${_output_})
            set(${_outvar_} ${_output_} PARENT_SCOPE)
            return()
        endif()
    endif()

    message(FATAL_ERROR "Could not find mktemp or powershell to make a temporary directory")
endfunction()