Changeset View
Changeset View
Standalone View
Standalone View
src/univalue/CMakeLists.txt
Show All 15 Lines | |||||
target_include_directories(univalue | target_include_directories(univalue | ||||
PUBLIC | PUBLIC | ||||
include | include | ||||
PRIVATE | PRIVATE | ||||
lib | lib | ||||
) | ) | ||||
if(UNIVALUE_BUILD_TESTS) | if(UNIVALUE_BUILD_TESTS) | ||||
enable_testing() | include(TestSuite) | ||||
create_test_suite(univalue) | |||||
add_executable(unitester_test test/unitester.cpp) | function(create_univalue_test NAME FILES) | ||||
add_test(NAME unitester_test COMMAND unitester_tests) | add_test_to_suite(univalue ${NAME} ${FILES}) | ||||
target_link_libraries(unitester_test univalue) | target_link_libraries(${NAME} univalue) | ||||
endfunction() | |||||
create_univalue_test(unitester_test test/unitester.cpp) | |||||
target_compile_definitions(unitester_test | target_compile_definitions(unitester_test | ||||
PUBLIC JSON_TEST_SRC="${PROJECT_SOURCE_DIR}/test" | PUBLIC JSON_TEST_SRC="${PROJECT_SOURCE_DIR}/test" | ||||
) | ) | ||||
add_executable(json_test test/test_json.cpp) | create_univalue_test(no_nul_test test/no_nul.cpp) | ||||
add_test(NAME json_test COMMAND json_test) | create_univalue_test(object_test test/object.cpp) | ||||
target_link_libraries(json_test univalue) | |||||
add_executable(no_nul_test test/no_nul.cpp) | # test_json is not meant to run in an automated test suite. | ||||
add_test(NAME no_nul_test COMMAND no_nul_test) | add_executable(json_test EXCLUDE_FROM_ALL test/test_json.cpp) | ||||
target_link_libraries(no_nul_test univalue) | target_link_libraries(json_test univalue) | ||||
add_dependencies(check-univalue json_test) | |||||
add_executable(object_test test/object.cpp) | |||||
add_test(NAME object_test COMMAND object_test) | |||||
target_link_libraries(object_test univalue) | |||||
endif(UNIVALUE_BUILD_TESTS) | endif(UNIVALUE_BUILD_TESTS) | ||||
# Generate lib/univalue_escapes.h | # Generate lib/univalue_escapes.h | ||||
add_executable(univalue_gen gen/gen.cpp) | add_executable(univalue_gen gen/gen.cpp) | ||||
target_include_directories(univalue_gen PUBLIC include) | target_include_directories(univalue_gen PUBLIC include) | ||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) | file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) | ||||
add_custom_command( | add_custom_command( | ||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lib/univalue_escapes.h | OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lib/univalue_escapes.h | ||||
COMMAND univalue_gen > ${CMAKE_CURRENT_BINARY_DIR}/lib/univalue_escapes.h | COMMAND univalue_gen > ${CMAKE_CURRENT_BINARY_DIR}/lib/univalue_escapes.h | ||||
DEPENDS univalue_gen ${CMAKE_CURRENT_SOURCE_DIR}/lib/univalue_escapes.h | DEPENDS univalue_gen ${CMAKE_CURRENT_SOURCE_DIR}/lib/univalue_escapes.h | ||||
) | ) | ||||
add_custom_target(generate_univalue_escapes_h | add_custom_target(generate_univalue_escapes_h | ||||
DEPENDS | DEPENDS | ||||
${CMAKE_CURRENT_BINARY_DIR}/lib/univalue_escapes.h | ${CMAKE_CURRENT_BINARY_DIR}/lib/univalue_escapes.h | ||||
) | ) |