0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-15 20:31:16 +08:00
sqlpp11/test_constraints/CMakeLists.txt
2014-08-18 19:17:59 +02:00

32 lines
931 B
CMake

include_directories(${CMAKE_BINARY_DIR}/tests)
add_custom_target(test_sqlpp_constraints COMMAND true)
function(test_constraint name pattern)
add_executable(
${name}
EXCLUDE_FROM_ALL
${name}.cpp
)
add_custom_command(OUTPUT ${name}.out
COMMAND ${CMAKE_MAKE_PROGRAM} ${name} > ${CMAKE_CURRENT_BINARY_DIR}/${name}.out 2>&1 || true
COMMAND grep ${pattern} ${CMAKE_CURRENT_BINARY_DIR}/${name}.out > /dev/null
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.cpp
COMMENT "${name}"
)
add_custom_target(test_${name} DEPENDS ${name}.out COMMAND true)
add_dependencies(test_sqlpp_constraints test_${name})
endfunction(test_constraint)
test_constraint(no_conversion_operator_if_null_not_trivial "int i = row.alpha")
test_constraint(require_insert "required column is missing")
test_constraint(must_not_insert "one assignment is prohibited")
test_constraint(must_not_update "one assignment is prohibited")