Skip to content

Commit ea6c304

Browse files
committed
bindings set only for when running on cmake
1 parent ca94c6b commit ea6c304

File tree

3 files changed

+37
-37
lines changed

3 files changed

+37
-37
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ if(pyexiv2bind_generate_python_bindings)
7272

7373
add_subdirectory(${libpybind11_SOURCE_DIR} ${libpybind11_BINARY_DIR} EXCLUDE_FROM_ALL)
7474
endif ()
75-
add_subdirectory(py3exiv2bind/core)
7675
endif(pyexiv2bind_generate_python_bindings)
76+
add_subdirectory(py3exiv2bind/core)
7777
#add_subdirectory(thirdparty/pybind11)
7878
#target_compile_options(DEBUG)
7979
#add_definitions(DEBUG)

py3exiv2bind/core/CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ include(GenerateExportHeader)
22

33
add_subdirectory(glue)
44

5-
Python3_add_library(core core.cpp $<TARGET_OBJECTS:glue> )
6-
add_custom_command(TARGET core
7-
POST_BUILD
8-
COMMAND ${Python3_EXECUTABLE} setup.py build_py --build-lib ${PROJECT_BINARY_DIR}
9-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
10-
)
11-
set_target_properties(core PROPERTIES EXCLUDE_FROM_ALL on)
125

136
if (pyexiv2bind_generate_python_bindings)
7+
Python3_add_library(core core.cpp $<TARGET_OBJECTS:glue> )
8+
set_target_properties(core PROPERTIES EXCLUDE_FROM_ALL on)
9+
add_custom_command(TARGET core
10+
POST_BUILD
11+
COMMAND ${Python3_EXECUTABLE} setup.py build_py --build-lib ${PROJECT_BINARY_DIR}
12+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
13+
)
1414
if (SKBUILD)
1515
python_extension_module(core)
1616
endif()

tests/CMakeLists.txt

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)