if(CMAKE_TEST_OUTPUT_DIRECTORY)
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_TEST_OUTPUT_DIRECTORY} )
else()
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test-bin )
endif()

include_directories( .. )
add_compile_definitions( TESTING )

function( test stem )
    add_executable ( test-cmn3-${stem} ${stem}-tst.cpp )
    target_link_libraries ( test-cmn3-${stem} gtest kfc3 utf8proc ${LQUADMATH} )
    add_test ( NAME Test_CMN3_${stem} COMMAND test-cmn3-${stem} )
endfunction()

# gtest white box tests
test(base64)
test(buffer)
test(buffmt)
test(dserial)
test(fmt)
test(kvp)
test(log)
test(nconv-sel)
test(nconv)
test(obj)
test(plog)
test(ptrace)
test(reader)
test(rsrc)
test(rsrc-log)
test(rsrc-trace)
test(serial)
test(str-buffer)
test(stream)
test(string)
test(text)
test(trace)
test(txt-writer)
test(writer)
