@@ -121,6 +121,10 @@ endif()
121121# foo
122122# )
123123function (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" )
147149endfunction ()
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" )
467487endfunction ()
0 commit comments