|
Packit Service |
21b5d1 |
find_package(GTest REQUIRED)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
get_target_property(exiv2lib_SOURCES exiv2lib SOURCES)
|
|
Packit Service |
21b5d1 |
get_target_property(exiv2lib_int_SOURCES exiv2lib_int SOURCES)
|
|
Packit Service |
21b5d1 |
get_target_property(exiv2lib_COMPILE_DEFINITIONS exiv2lib COMPILE_DEFINITIONS)
|
|
Packit Service |
21b5d1 |
get_target_property(exiv2lib_INCLUDE_DIRECTORIES exiv2lib INCLUDE_DIRECTORIES)
|
|
Packit Service |
21b5d1 |
get_target_property(exiv2lib_LINK_LIBRARIES exiv2lib LINK_LIBRARIES)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
set(unit_tests_exiv2lib_SOURCES)
|
|
Packit Service |
21b5d1 |
foreach(source IN LISTS exiv2lib_SOURCES exiv2lib_int_SOURCES)
|
|
Packit Service |
21b5d1 |
if(source MATCHES "\.(c|cpp|h|hpp)$")
|
|
Packit Service |
21b5d1 |
if(source MATCHES ".*/.*")
|
|
Packit Service |
21b5d1 |
list(APPEND unit_tests_exiv2lib_SOURCES "${source}")
|
|
Packit Service |
21b5d1 |
else()
|
|
Packit Service |
21b5d1 |
list(APPEND unit_tests_exiv2lib_SOURCES "../src/${source}")
|
|
Packit Service |
21b5d1 |
endif()
|
|
Packit Service |
21b5d1 |
endif()
|
|
Packit Service |
21b5d1 |
endforeach()
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
add_executable(unit_tests mainTestRunner.cpp
|
|
Packit Service |
21b5d1 |
gtestwrapper.h
|
|
Packit Service |
21b5d1 |
test_basicio.cpp
|
|
Packit Service |
21b5d1 |
test_types.cpp
|
|
Packit Service |
21b5d1 |
test_tiffheader.cpp
|
|
Packit Service |
21b5d1 |
test_futils.cpp
|
|
Packit Service |
21b5d1 |
test_enforce.cpp
|
|
Packit Service |
21b5d1 |
test_safe_op.cpp
|
|
Packit Service |
21b5d1 |
test_XmpKey.cpp
|
|
Packit Service |
21b5d1 |
test_DateValue.cpp
|
|
Packit Service |
21b5d1 |
test_TimeValue.cpp
|
|
Packit Service |
21b5d1 |
test_cr2header_int.cpp
|
|
Packit Service |
21b5d1 |
test_helper_functions.cpp
|
|
Packit Service |
21b5d1 |
test_slice.cpp
|
|
Packit Service |
21b5d1 |
test_image_int.cpp
|
|
Packit Service |
21b5d1 |
${unit_tests_exiv2lib_SOURCES}
|
|
Packit Service |
21b5d1 |
)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
target_compile_definitions(unit_tests PRIVATE exiv2lib_STATIC)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
if (exiv2lib_COMPILE_DEFINITIONS)
|
|
Packit Service |
21b5d1 |
target_compile_definitions(unit_tests PRIVATE ${exiv2lib_COMPILE_DEFINITIONS})
|
|
Packit Service |
21b5d1 |
endif ()
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
target_include_directories(unit_tests
|
|
Packit Service |
21b5d1 |
PRIVATE
|
|
Packit Service |
21b5d1 |
${exiv2lib_INCLUDE_DIRECTORIES}
|
|
Packit Service |
21b5d1 |
)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#TODO Use GTest::GTest once we upgrade the minimum CMake version required
|
|
Packit Service |
21b5d1 |
target_link_libraries(unit_tests
|
|
Packit Service |
21b5d1 |
PRIVATE
|
|
Packit Service |
21b5d1 |
${exiv2lib_LINK_LIBRARIES}
|
|
Packit Service |
21b5d1 |
${GTEST_BOTH_LIBRARIES}
|
|
Packit Service |
21b5d1 |
)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
# ZLIB is used in exiv2lib_int.
|
|
Packit Service |
21b5d1 |
if( EXIV2_ENABLE_PNG )
|
|
Packit Service |
21b5d1 |
target_link_libraries(unit_tests PRIVATE ${ZLIB_LIBRARIES} )
|
|
Packit Service |
21b5d1 |
endif()
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
target_include_directories(unit_tests
|
|
Packit Service |
21b5d1 |
PRIVATE
|
|
Packit Service |
21b5d1 |
${GTEST_INCLUDE_DIRS}
|
|
Packit Service |
21b5d1 |
${CMAKE_SOURCE_DIR}/src
|
|
Packit Service |
21b5d1 |
)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
target_compile_definitions(unit_tests
|
|
Packit Service |
21b5d1 |
PRIVATE
|
|
Packit Service |
21b5d1 |
GTEST_LINKED_AS_SHARED_LIBRARY=1
|
|
Packit Service |
21b5d1 |
)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
set_target_properties(unit_tests PROPERTIES
|
|
Packit Service |
21b5d1 |
COMPILE_FLAGS ${EXTRA_COMPILE_FLAGS}
|
|
Packit Service |
21b5d1 |
)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
if (USING_CONAN)
|
|
Packit Service |
21b5d1 |
target_compile_definitions(unit_tests PRIVATE ${CONAN_COMPILE_DEFINITIONS_GTEST})
|
|
Packit Service |
21b5d1 |
endif()
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
if (MSVC)
|
|
Packit Service |
21b5d1 |
set_target_properties(unit_tests PROPERTIES LINK_FLAGS "/ignore:4099")
|
|
Packit Service |
21b5d1 |
endif()
|