2019-09-01 23:09:47 +03:00
# Copyright (C) 2019 Robin Stuart <rstuart114@gmail.com>
# Adapted from qrencode/tests/CMakeLists.txt
# Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
cmake_minimum_required ( VERSION 3.9 )
enable_testing ( )
set ( CMAKE_MODULE_PATH ${ CMAKE_MODULE_PATH } "${CMAKE_SOURCE_DIR}/cmake/Modules/" )
set ( ZINT_DEBUG FALSE CACHE BOOL "Set debug compile flag" )
set ( ZINT_SANITIZE FALSE CACHE BOOL "Set sanitize compile/link flags" )
2019-12-19 03:37:55 +03:00
set ( ZINT_TEST FALSE CACHE BOOL "Set test compile flag" )
2019-09-01 23:09:47 +03:00
2019-12-05 22:16:39 +03:00
find_package ( LibZint 2.7.0 REQUIRED )
2019-10-14 11:49:15 +03:00
find_package ( PNG )
if ( PNG_FOUND )
include_directories ( ${ PNG_INCLUDES } )
else ( PNG_FOUND )
add_definitions ( -DNO_PNG )
endif ( PNG_FOUND )
2019-09-01 23:09:47 +03:00
if ( ${ CMAKE_CXX_COMPILER_ID } STREQUAL "GNU" )
if ( ZINT_DEBUG )
add_compile_options ( "-g" )
endif ( ZINT_DEBUG )
if ( ZINT_SANITIZE )
add_compile_options ( "-fsanitize=undefined" )
add_compile_options ( "-fsanitize=address" )
2019-12-16 20:31:52 +03:00
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address" )
2019-09-01 23:09:47 +03:00
endif ( ZINT_SANITIZE )
2019-12-19 03:37:55 +03:00
if ( ZINT_TEST )
add_definitions ( "-DZINT_TEST" )
endif ( ZINT_TEST )
2019-09-01 23:09:47 +03:00
endif ( )
add_library ( testcommon
t e s t c o m m o n . c t e s t c o m m o n . h )
2019-10-14 11:49:15 +03:00
if ( PNG_FOUND )
target_link_libraries ( testcommon ZINT::ZINT ${ PNG_LIBRARIES } )
else ( PNG_FOUND )
target_link_libraries ( testcommon ZINT::ZINT )
endif ( PNG_FOUND )
2019-09-01 23:09:47 +03:00
macro ( zint_add_test test_name test_command )
set ( ADDITIONAL_LIBS "${ARGN}" ${ LIBRARY_FLAGS } )
add_executable ( ${ test_command } ${ test_command } .c )
target_link_libraries ( ${ test_command } testcommon ${ ADDITIONAL_LIBS } )
add_test ( ${ test_name } ${ test_command } )
endmacro ( zint_add_test )
zint_add_test ( channel, test_channel )
2019-11-27 19:16:14 +03:00
zint_add_test ( common, test_common )
2019-10-15 00:20:16 +03:00
zint_add_test ( composite, test_composite )
2019-11-27 19:16:14 +03:00
zint_add_test ( dmatrix, test_dmatrix )
2019-09-01 23:09:47 +03:00
zint_add_test ( eci, test_eci )
2019-12-08 19:15:34 +03:00
zint_add_test ( gb18030, test_gb18030 )
2019-11-28 22:15:29 +03:00
zint_add_test ( gb2312, test_gb2312 )
zint_add_test ( gridmtx, test_gridmtx )
2019-10-17 12:06:21 +03:00
zint_add_test ( gs1, test_gs1 )
2019-12-08 19:15:34 +03:00
zint_add_test ( hanxin, test_hanxin )
2019-09-01 23:09:47 +03:00
zint_add_test ( imail, test_imail )
2019-10-17 12:06:21 +03:00
zint_add_test ( library, test_library )
2019-09-01 23:09:47 +03:00
zint_add_test ( mailmark, test_mailmark )
zint_add_test ( maxicode, test_maxicode )
2019-10-14 11:49:15 +03:00
zint_add_test ( postal, test_postal )
2019-09-02 13:43:14 +03:00
zint_add_test ( qr, test_qr )
2019-11-12 00:38:21 +03:00
zint_add_test ( raster, test_raster )
2019-09-01 23:09:47 +03:00
zint_add_test ( rss, test_rss )
2019-11-27 19:16:14 +03:00
zint_add_test ( sjis, test_sjis )
2019-09-01 23:09:47 +03:00
zint_add_test ( upcean, test_upcean )
2019-11-12 00:38:21 +03:00
zint_add_test ( vector, test_vector )