if (WIN32)
    set(EXPECTED "@CMAKE_CURRENT_SOURCE_DIR@/windowsexpected")
else ()
    set(EXPECTED "@CMAKE_CURRENT_SOURCE_DIR@/expected")
endif (WIN32)

set(ACTUAL "@CMAKE_INSTALL_PREFIX@")

# Compares files in two directories, emits a fatal error if the top level files are different
# Takes a directory of expected files, and a directory of output files
function(compare_dirs expected output )
    file(GLOB files "${expected}/*")
    foreach(file ${files})
        get_filename_component(name ${file} NAME)

        execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files ${file} "${output}/${name}"
                                        RESULT_VARIABLE test_result
        )
        If (NOT test_result EQUAL 0)
            message(FATAL_ERROR "Test failed: ${file} doesn't match ${output}/${name}!")
        endif()
    endforeach()
endfunction()

compare_dirs(${EXPECTED} ${ACTUAL}/test )
