Skip to content

Commit 6d2036d

Browse files
committed
cmake: cleanup
1 parent ae4dad0 commit 6d2036d

File tree

2 files changed

+39
-19
lines changed

2 files changed

+39
-19
lines changed

cmake/python.cmake

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ endif()
121121
# foo
122122
# )
123123
function(add_python_test)
124+
if(NOT BUILD_TESTING)
125+
return()
126+
endif()
127+
124128
set(options "")
125129
set(oneValueArgs FILE_NAME)
126130
set(multiValueArgs "")
@@ -137,12 +141,10 @@ function(add_python_test)
137141

138142
message(STATUS "Configuring test ${TEST_FILE_NAME} ...")
139143

140-
if(BUILD_TESTING)
141-
add_test(
142-
NAME python_test_${TEST_NAME}
143-
COMMAND ${VENV_Python3_EXECUTABLE} -m pytest ${TEST_FILE_NAME}
144-
WORKING_DIRECTORY ${VENV_DIR})
145-
endif()
144+
add_test(
145+
NAME python_test_${TEST_NAME}
146+
COMMAND ${VENV_Python3_EXECUTABLE} -m pytest ${TEST_FILE_NAME}
147+
WORKING_DIRECTORY ${VENV_DIR})
146148
message(STATUS "Configuring test ${TEST_FILE_NAME} ...DONE")
147149
endfunction()
148150

@@ -450,18 +452,36 @@ endif()
450452
# add_python_example()
451453
# CMake function to generate and build python example.
452454
# Parameters:
453-
# the python filename
455+
# FILE_NAME: the Python filename
454456
# e.g.:
455-
# add_python_example(foo.py)
456-
function(add_python_example FILE_NAME)
457-
message(STATUS "Configuring example ${FILE_NAME} ...")
458-
get_filename_component(EXAMPLE_NAME ${FILE_NAME} NAME_WE)
459-
460-
if(BUILD_TESTING)
461-
add_test(
462-
NAME python_example_${EXAMPLE_NAME}
463-
COMMAND ${VENV_Python3_EXECUTABLE} ${FILE_NAME}
464-
WORKING_DIRECTORY ${VENV_DIR})
457+
# add_python_example(
458+
# FILE_NAME
459+
# foo.py
460+
# )
461+
function(add_python_example)
462+
if(NOT BUILD_TESTING)
463+
return()
464+
endif()
465+
466+
set(options "")
467+
set(oneValueArgs FILE_NAME)
468+
set(multiValueArgs "")
469+
cmake_parse_arguments(EXAMPLE
470+
"${options}"
471+
"${oneValueArgs}"
472+
"${multiValueArgs}"
473+
${ARGN}
474+
)
475+
if(NOT EXAMPLE_FILE_NAME)
476+
message(FATAL_ERROR "no FILE_NAME provided")
465477
endif()
466-
message(STATUS "Configuring example ${FILE_NAME} done")
478+
get_filename_component(EXAMPLE_NAME ${EXAMPLE_FILE_NAME} NAME_WE)
479+
480+
message(STATUS "Configuring example ${EXAMPLE_FILE_NAME} ...")
481+
482+
add_test(
483+
NAME python_example_${EXAMPLE_NAME}
484+
COMMAND ${VENV_Python3_EXECUTABLE} ${EXAMPLE_FILE_NAME}
485+
WORKING_DIRECTORY ${VENV_DIR})
486+
message(STATUS "Configuring example ${EXAMPLE_FILE_NAME} ...DONE")
467487
endfunction()

examples/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ add_cxx_example(
1515

1616
file(GLOB PYTHON_SRCS "*.py")
1717
foreach(FILE_NAME IN LISTS PYTHON_SRCS)
18-
add_python_example(${FILE_NAME})
18+
add_python_example(FILE_NAME ${FILE_NAME})
1919
endforeach()

0 commit comments

Comments
 (0)