find_package(Threads REQUIRED) macro(build_and_run arg) add_executable(Sqlpp11MySQL${arg} ${arg}.cpp) target_link_libraries(Sqlpp11MySQL${arg} PRIVATE Threads::Threads) target_link_libraries(Sqlpp11MySQL${arg} PRIVATE sqlpp11::sqlpp11) target_link_libraries(Sqlpp11MySQL${arg} PRIVATE MySQL::MySQL) target_link_libraries(Sqlpp11MySQL${arg} PRIVATE date::date) if(${arg} STREQUAL "JsonTest") target_link_libraries(Sqlpp11MySQL${arg} PRIVATE MySQL::MySQL) endif() if(NOT MSVC) target_compile_options(Sqlpp11MySQL${arg} PRIVATE -Wall -Wextra -pedantic) endif() add_test(${arg} Sqlpp11MySQL${arg}) endmacro() build_and_run(JsonTest) build_and_run(CustomQuery) build_and_run(DateTimeTest) build_and_run(SampleTest) build_and_run(SelectTest) build_and_run(UnionTest) build_and_run(DynamicSelectTest) build_and_run(MoveConstructorTest) build_and_run(PreparedTest) build_and_run(TruncatedTest) build_and_run(UpdateTest) build_and_run(RemoveTest)