mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
CMake: allow ctest to be run without having to install zint or
manually set LD_LIBRARY_PATH and PATH (ticket #279, props Alexey Dokuchaev)
This commit is contained in:
parent
be0d9bc663
commit
5669addf01
@ -1,5 +1,5 @@
|
||||
# Copyright (C) 2008 by BogDan Vatra < bogdan@licentia.eu >
|
||||
# Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
||||
# Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||
# vim: set ts=4 sw=4 et :
|
||||
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
@ -28,6 +28,10 @@ option(ZINT_USE_PNG "Build with PNG support" ON)
|
||||
option(ZINT_USE_QT "Build with Qt support" ON)
|
||||
option(ZINT_QT6 "If ZINT_USE_QT, use Qt6" OFF)
|
||||
|
||||
if(NOT ZINT_SHARED AND NOT ZINT_STATIC)
|
||||
message(SEND_ERROR "Either ZINT_SHARED or ZINT_STATIC or both must be set")
|
||||
endif()
|
||||
|
||||
include(SetPaths.cmake)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
@ -15,6 +15,8 @@ Bugs
|
||||
----
|
||||
- CEPNET: fix no HRT (library: `has_hrt()`)
|
||||
- man page: fix Code 11 check digit info
|
||||
- CMake: allow ctest to be run without having to install zint or manually set
|
||||
LD_LIBRARY_PATH and PATH (ticket #279, props Alexey Dokuchaev)
|
||||
|
||||
|
||||
Version 2.12.0 (2022-12-12)
|
||||
|
@ -17,8 +17,11 @@ can be provided via --config:
|
||||
cd <project-dir>
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DZINT_TEST=ON ..
|
||||
cmake -DZINT_TEST=ON -DCMAKE_BUILD_TYPE=Debug ..
|
||||
cmake --build . --config Debug
|
||||
|
||||
Note specifying a matching CMAKE_BUILD_TYPE is required to set the test PATH
|
||||
environment for Windows.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
@ -33,7 +36,11 @@ exporting LD_LIBRARY_PATH to the path containing the zint library, which is
|
||||
|
||||
Setting LD_LIBRARY_PATH is not required if the zint library to be tested is
|
||||
installed into a system library path ( /usr/lib for example ) prior to running
|
||||
the tests.
|
||||
the tests, or if the tests are not run individually.
|
||||
|
||||
(On Windows, the PATH may need to be set to include the DLL location.)
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
To run all tests (within <build-dir>):
|
||||
|
||||
@ -72,7 +79,7 @@ To exclude a single dataset item in a single test function, use '-x <index>':
|
||||
|
||||
This can also take a range, '-x <start>-<end>':
|
||||
|
||||
backend/tests/test_dotcode -f input -x 4,6
|
||||
backend/tests/test_dotcode -f input -x 4-6
|
||||
|
||||
Exclude can be used multiple times (unlike '-i'):
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2021 Robin Stuart <rstuart114@gmail.com>
|
||||
# Copyright (C) 2021-23 Robin Stuart <rstuart114@gmail.com>
|
||||
# vim: set ts=4 sw=4 et :
|
||||
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
@ -17,6 +17,12 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
add_executable(test_qzint test_qzint.cpp)
|
||||
add_test(NAME qzint COMMAND test_qzint)
|
||||
|
||||
target_link_libraries(test_qzint PRIVATE QZint Qt${QT_VERSION_MAJOR}::Test)
|
||||
add_test(NAME qzint COMMAND test_qzint)
|
||||
if(MSVC)
|
||||
set_tests_properties(qzint PROPERTIES ENVIRONMENT
|
||||
"PATH=${CMAKE_BINARY_DIR}/backend/${CMAKE_BUILD_TYPE}\;${CMAKE_BINARY_DIR}/frontend/${CMAKE_BUILD_TYPE}\;$ENV{PATH}")
|
||||
else()
|
||||
set_tests_properties(qzint PROPERTIES ENVIRONMENT
|
||||
"LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/backend;PATH=${CMAKE_BINARY_DIR}/frontend:$ENV{PATH}")
|
||||
endif()
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2021 Robin Stuart <rstuart114@gmail.com>
|
||||
# Copyright (C) 2021-23 Robin Stuart <rstuart114@gmail.com>
|
||||
# Adapted from qrencode/tests/CMakeLists.txt
|
||||
# Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
# vim: set ts=4 sw=4 et :
|
||||
@ -9,12 +9,24 @@ macro(zint_add_test test_name test_command)
|
||||
add_executable(${test_command} ${test_command}.c)
|
||||
target_link_libraries(${test_command} testcommon ${ADDITIONAL_LIBS})
|
||||
add_test(${test_name} ${test_command})
|
||||
set_tests_properties(${test_name} PROPERTIES ENVIRONMENT "CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
if(MSVC)
|
||||
set_tests_properties(${test_name} PROPERTIES ENVIRONMENT
|
||||
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR};PATH=${CMAKE_BINARY_DIR}/backend/${CMAKE_BUILD_TYPE}\;${CMAKE_BINARY_DIR}/frontend/${CMAKE_BUILD_TYPE}\;$ENV{PATH}")
|
||||
else()
|
||||
set_tests_properties(${test_name} PROPERTIES ENVIRONMENT
|
||||
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR};LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/backend;PATH=${CMAKE_BINARY_DIR}/frontend:$ENV{PATH}")
|
||||
endif()
|
||||
endif()
|
||||
if(ZINT_STATIC)
|
||||
add_executable(${test_command}-static ${test_command}.c)
|
||||
target_link_libraries(${test_command}-static testcommon-static ${ADDITIONAL_LIBS})
|
||||
add_test(${test_name}-static ${test_command}-static)
|
||||
set_tests_properties(${test_name}-static PROPERTIES ENVIRONMENT "CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
if(MSVC)
|
||||
set_tests_properties(${test_name}-static PROPERTIES ENVIRONMENT
|
||||
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR};PATH=${CMAKE_BINARY_DIR}/backend/${CMAKE_BUILD_TYPE}\;${CMAKE_BINARY_DIR}/frontend/${CMAKE_BUILD_TYPE}\;$ENV{PATH}")
|
||||
else()
|
||||
set_tests_properties(${test_name}-static PROPERTIES ENVIRONMENT
|
||||
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR};LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/backend;PATH=${CMAKE_BINARY_DIR}/frontend:$ENV{PATH}")
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2020 Robin Stuart <rstuart114@gmail.com>
|
||||
# Copyright (C) 2020-23 Robin Stuart <rstuart114@gmail.com>
|
||||
# Adapted from qrencode/tests/CMakeLists.txt
|
||||
# Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
# vim: set ts=4 sw=4 et :
|
||||
@ -10,4 +10,7 @@ enable_testing()
|
||||
|
||||
include(${zint-package_SOURCE_DIR}/cmake/zint_add_test.cmake)
|
||||
|
||||
if(ZINT_SHARED)
|
||||
set(ZINT_STATIC "")
|
||||
endif()
|
||||
zint_add_test(args test_args)
|
||||
|
Loading…
Reference in New Issue
Block a user