@@ -15,40 +15,40 @@ if (BUILD_TESTING)
1515 set (TEST_IMAGE_PATH ${TEST_IMAGE_PATH} /)
1616 set (PYTHON_TEST_FILES test_core.py)
1717 find_package (PythonInterp 3 REQUIRED)
18- add_custom_target (add_python_tests
18+ if (pyexiv2bind_generate_python_bindings)
19+ add_custom_target (add_python_tests
1920 COMMENT "Adding Python test"
2021 DEPENDS core exiv2
2122 )
22- add_dependencies (add_python_tests core)
23- add_custom_command (TARGET add_python_tests
24- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR} /conftest.py ${CMAKE_CURRENT_BINARY_DIR}
25- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR} /test_core.py ${CMAKE_CURRENT_BINARY_DIR}
26- # COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/test_common.py ${CMAKE_CURRENT_BINARY_DIR}
27- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR} /test_image.py ${CMAKE_CURRENT_BINARY_DIR}
23+ add_dependencies (add_python_tests core)
24+ add_custom_command (TARGET add_python_tests
25+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR} /conftest.py ${CMAKE_CURRENT_BINARY_DIR}
26+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR} /test_core.py ${CMAKE_CURRENT_BINARY_DIR}
27+ # COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/test_common.py ${CMAKE_CURRENT_BINARY_DIR}
28+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR} /test_image.py ${CMAKE_CURRENT_BINARY_DIR}
29+ )
30+ find_path (PYTEST_PATH
31+ NAMES pytest
32+ PATHS ${Python3_SITELIB}
33+ )
34+ if (PYTEST_PATH)
35+ execute_process (
36+ COMMAND ${Python3_EXECUTABLE} -m pytest --collect-only
37+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
38+ OUTPUT_FILE ${PROJECT_BINARY_DIR} /pytest_collection.xml
39+ # OUTPUT_VARIABLE PYTEST_COLLECTION
40+ OUTPUT_STRIP_TRAILING_WHITESPACE
2841 )
29- find_path (PYTEST_PATH
30- NAMES pytest
31- PATHS ${Python3_SITELIB}
32- )
33- if (PYTEST_PATH)
34- execute_process (
35- COMMAND ${Python3_EXECUTABLE} -m pytest --collect-only
36- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
37- OUTPUT_FILE ${PROJECT_BINARY_DIR} /pytest_collection.xml
38- # OUTPUT_VARIABLE PYTEST_COLLECTION
39- OUTPUT_STRIP_TRAILING_WHITESPACE
40- )
41- file (STRINGS "${PROJECT_BINARY_DIR} /pytest_collection.xml" PYTEST_COLLECTION)
42- foreach (line ${PYTEST_COLLECTION} )
43- if (line MATCHES "^<Module ([a-z]+\\ /test_[a-zA-Z]+.py)" )
44- add_test (NAME ${PROJECT_NAME} ::${CMAKE_MATCH_1}
45- COMMAND ${Python3_EXECUTABLE} -m pytest ${PROJECT_SOURCE_DIR} /${CMAKE_MATCH_1}
46- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
47- )
42+ file (STRINGS "${PROJECT_BINARY_DIR} /pytest_collection.xml" PYTEST_COLLECTION)
43+ foreach (line ${PYTEST_COLLECTION} )
44+ if (line MATCHES "^<Module ([a-z]+\\ /test_[a-zA-Z]+.py)" )
45+ add_test (NAME ${PROJECT_NAME} ::${CMAKE_MATCH_1}
46+ COMMAND ${Python3_EXECUTABLE} -m pytest ${PROJECT_SOURCE_DIR} /${CMAKE_MATCH_1}
47+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
48+ )
4849
49- endif ()
50- endforeach ()
51- if (pyexiv2bind_generate_python_bindings)
50+ endif ()
51+ endforeach ()
5252 set_target_properties (core PROPERTIES EXCLUDE_FROM_ALL off )
5353 endif ()
5454 endif ()
0 commit comments