@@ -56,13 +56,27 @@ function(build_regression_test TEST_GROUP TEST_NAME MULTIPLE)
5656 COMMAND ${Python3_EXECUTABLE} ${COMPARE_SCRIPT} ${FILE_REF} $<TARGET_FILE_DIR :${TEST_EXE} >/${FILE_RST}
5757 )
5858
59- set_tests_properties (
60- ${TEST_REF}
61- PROPERTIES
62- LABELS "regression;${TEST_GROUP} ;reference"
63- FIXTURES_REQUIRED ${FIXTURE_FILE}
64- ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;$ENV{PATH} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
65- )
59+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.22" )
60+ set_tests_properties (
61+ ${TEST_REF}
62+ PROPERTIES
63+ LABELS "regression;${TEST_GROUP} ;reference"
64+ FIXTURES_REQUIRED ${FIXTURE_FILE}
65+ ENVIRONMENT_MODIFICATION "PATH=path_list_prepend:${Python3_ROOT_DIR} ;PATH=path_list_prepend:${Python3_ROOT_DIR} /Library/bin;PATH=path_list_prepend:${Python3_ROOT_DIR} /DLLs"
66+ ENVIRONMENT "HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
67+ )
68+ else ()
69+ # CMake < 3.22 lacks ENVIRONMENT_MODIFICATION; set only the Python root in
70+ # PATH (semicolons inside values can't be escaped). Users on older CMake
71+ # should activate their Python environment before running ctest.
72+ set_tests_properties (
73+ ${TEST_REF}
74+ PROPERTIES
75+ LABELS "regression;${TEST_GROUP} ;reference"
76+ FIXTURES_REQUIRED ${FIXTURE_FILE}
77+ ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
78+ )
79+ endif ()
6680
6781endfunction ()
6882
@@ -103,10 +117,21 @@ add_test(
103117)
104118
105119# Make sure report generation runs after all other regression tests
106- set_tests_properties (
107- regression_report_generation
108- PROPERTIES
109- LABELS "regression;report;documentation;core"
110- ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;$ENV{PATH} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
111- DEPENDS "sphere_decay_regression;sphere_decay_ss_regression;sphere_reg_waves_regression;sphere_irreg_waves_regression;sphere_irreg_waves_ss_regression;sphere_irreg_waves_eta_regression;sphere_irreg_waves_eta_consistency_regression;f3of_dt1_regression;f3of_dt2_regression;f3of_dt3_regression;oswec_decay_regression;oswec_decay_ss_regression;oswec_irreg_waves_regression;oswec_irreg_waves_ss_regression;oswec_reg_waves_regression;rm3_decay_regression;rm3_reg_waves_regression"
112- )
120+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.22" )
121+ set_tests_properties (
122+ regression_report_generation
123+ PROPERTIES
124+ LABELS "regression;report;documentation;core"
125+ ENVIRONMENT_MODIFICATION "PATH=path_list_prepend:${Python3_ROOT_DIR} ;PATH=path_list_prepend:${Python3_ROOT_DIR} /Library/bin;PATH=path_list_prepend:${Python3_ROOT_DIR} /DLLs"
126+ ENVIRONMENT "HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
127+ DEPENDS "sphere_decay_regression;sphere_decay_ss_regression;sphere_reg_waves_regression;sphere_irreg_waves_regression;sphere_irreg_waves_ss_regression;sphere_irreg_waves_eta_regression;sphere_irreg_waves_eta_consistency_regression;f3of_dt1_regression;f3of_dt2_regression;f3of_dt3_regression;oswec_decay_regression;oswec_decay_ss_regression;oswec_irreg_waves_regression;oswec_irreg_waves_ss_regression;oswec_reg_waves_regression;rm3_decay_regression;rm3_reg_waves_regression"
128+ )
129+ else ()
130+ set_tests_properties (
131+ regression_report_generation
132+ PROPERTIES
133+ LABELS "regression;report;documentation;core"
134+ ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
135+ DEPENDS "sphere_decay_regression;sphere_decay_ss_regression;sphere_reg_waves_regression;sphere_irreg_waves_regression;sphere_irreg_waves_ss_regression;sphere_irreg_waves_eta_regression;sphere_irreg_waves_eta_consistency_regression;f3of_dt1_regression;f3of_dt2_regression;f3of_dt3_regression;oswec_decay_regression;oswec_decay_ss_regression;oswec_irreg_waves_regression;oswec_irreg_waves_ss_regression;oswec_reg_waves_regression;rm3_decay_regression;rm3_reg_waves_regression"
136+ )
137+ endif ()
0 commit comments