FindCxxTest: Do not run cxxtestgen through interpreter unless necessary
On platforms that support shebang lines the `cxxtestgen` script should be able to execute without an explicit interpreter. Do this if possible so that the proper interpreter specified by the shebang line is honored. Ideally we shouldn't even need to find `python` in this case, but that will be a larger change better made by a dedicated module maintainer. Closes: #16331
This commit is contained in:
parent
8f25f37676
commit
32ee69c562
|
@ -58,7 +58,8 @@
|
||||||
# The test generator that is actually used (chosen using user preferences
|
# The test generator that is actually used (chosen using user preferences
|
||||||
# and interpreters found in the system)
|
# and interpreters found in the system)
|
||||||
# CXXTEST_TESTGEN_INTERPRETER (since CMake 2.8.3)
|
# CXXTEST_TESTGEN_INTERPRETER (since CMake 2.8.3)
|
||||||
# The full path to the Perl or Python executable on the system
|
# The full path to the Perl or Python executable on the system, on
|
||||||
|
# platforms where the script cannot be executed using its shebang line.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -210,7 +211,13 @@ if(PYTHONINTERP_FOUND OR PERL_FOUND)
|
||||||
|
|
||||||
if(PYTHONINTERP_FOUND AND (CXXTEST_USE_PYTHON OR NOT PERL_FOUND OR NOT DEFINED CXXTEST_USE_PYTHON))
|
if(PYTHONINTERP_FOUND AND (CXXTEST_USE_PYTHON OR NOT PERL_FOUND OR NOT DEFINED CXXTEST_USE_PYTHON))
|
||||||
set(CXXTEST_TESTGEN_EXECUTABLE ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE})
|
set(CXXTEST_TESTGEN_EXECUTABLE ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE})
|
||||||
set(CXXTEST_TESTGEN_INTERPRETER ${PYTHON_EXECUTABLE})
|
execute_process(COMMAND ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --version
|
||||||
|
OUTPUT_VARIABLE _CXXTEST_OUT ERROR_VARIABLE _CXXTEST_OUT RESULT_VARIABLE _CXXTEST_RESULT)
|
||||||
|
if(_CXXTEST_RESULT EQUAL 0)
|
||||||
|
set(CXXTEST_TESTGEN_INTERPRETER "")
|
||||||
|
else()
|
||||||
|
set(CXXTEST_TESTGEN_INTERPRETER ${PYTHON_EXECUTABLE})
|
||||||
|
endif()
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CxxTest DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CxxTest DEFAULT_MSG
|
||||||
CXXTEST_INCLUDE_DIR CXXTEST_PYTHON_TESTGEN_EXECUTABLE)
|
CXXTEST_INCLUDE_DIR CXXTEST_PYTHON_TESTGEN_EXECUTABLE)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue