1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
add_library(tap
libtap/tap.c
)
# test programs
set(TEST_TARGET_NAMES
bad_pointers_t
basic_lookup_t
data_entry_list_t
data-pool-t
data_types_t
dump_t
get_value_pointer_bug_t
get_value_t
ipv4_start_cache_t
ipv6_lookup_in_ipv4_t
metadata_pointers_t
metadata_t
no_map_get_value_t
read_node_t
version_t
)
if(UNIX) # or if (NOT WIN32)
list(APPEND TEST_TARGET_NAMES
bad_databases_t
threads_t
)
find_package(Threads)
endif()
if(WIN32)
# 4244, 4267 - libtap causes a significant number of conversion warning in
# our tests on Windows.
# 4996 - vsprintf used by libtap is unsafe.
add_definitions("/wd4244 /wd4267 /wd4996")
endif(WIN32)
foreach(TEST_TARGET_NAME ${TEST_TARGET_NAMES})
add_executable(${TEST_TARGET_NAME} ${TEST_TARGET_NAME}.c maxminddb_test_helper.c)
target_include_directories(${TEST_TARGET_NAME} PRIVATE ../src)
target_link_libraries(${TEST_TARGET_NAME} maxminddb tap)
target_compile_definitions(${TEST_TARGET_NAME} PRIVATE PACKAGE_VERSION="${PROJECT_VERSION}")
if(UNIX)
target_link_libraries(${TEST_TARGET_NAME} m)
endif()
if (UNIX)
target_link_libraries(${TEST_TARGET_NAME} ${CMAKE_THREAD_LIBS_INIT})
endif()
add_test( NAME ${TEST_TARGET_NAME} COMMAND ${TEST_TARGET_NAME} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/t)
endforeach()
if(BUILD_FUZZING)
add_executable(fuzz_mmdb fuzz_mmdb.c)
target_include_directories(fuzz_mmdb PRIVATE ../src)
target_link_libraries(fuzz_mmdb maxminddb $ENV{LIB_FUZZING_ENGINE})
endif()
|