if(NOT CxxTest_HOME)
find_path(CxxTest_INCLUDE_DIR cxxtest/TestSuite.h)
- find_program(CxxTest_PYTHON_TESTGEN_EXECUTABLE NAMES cxxtestgen cxxtestgen.py)
+ find_program(CxxTest_PYTHON_TESTGEN_EXECUTABLE NAMES cxxtestgen.py)
+ find_program(CxxTest_SHEBANG_TESTGEN_EXECUTABLE NAMES cxxtestgen)
find_program(CxxTest_PERL_TESTGEN_EXECUTABLE cxxtestgen.pl)
endif()
-if(PYTHONINTERP_FOUND AND CxxTest_PYTHON_TESTGEN_EXECUTABLE)
+
+if(CxxTest_SHEBANG_TESTGEN_EXECUTABLE)
+ set(CxxTest_USE_SHEBANG ON)
+ set(CxxTest_TESTGEN_EXECUTABLE ${CxxTest_SHEBANG_TESTGEN_EXECUTABLE})
+elseif(PYTHONINTERP_FOUND AND CxxTest_PYTHON_TESTGEN_EXECUTABLE)
set(CxxTest_TESTGEN_EXECUTABLE ${CxxTest_PYTHON_TESTGEN_EXECUTABLE})
set(CxxTest_TESTGEN_INTERPRETER ${PYTHON_EXECUTABLE})
elseif(PERL_FOUND AND CxxTest_PERL_TESTGEN_EXECUTABLE)
# generate the test sources
set(test_src ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp)
set(test_header ${CMAKE_CURRENT_LIST_DIR}/${name}.h)
- add_custom_command(
- OUTPUT ${test_src}
- DEPENDS ${test_header}
- COMMAND
- ${CxxTest_TESTGEN_INTERPRETER}
+ if (CxxTest_USE_SHEBANG)
+ add_custom_command(
+ OUTPUT ${test_src}
+ DEPENDS ${test_header}
+ COMMAND
${CxxTest_TESTGEN_EXECUTABLE}
- ${CxxTest_TESTGEN_ARGS} -o ${test_src} ${test_header}
- )
+ ${CxxTest_TESTGEN_ARGS} -o ${test_src} ${test_header}
+ )
+ else()
+ add_custom_command(
+ OUTPUT ${test_src}
+ DEPENDS ${test_header}
+ COMMAND
+ ${CxxTest_TESTGEN_INTERPRETER}
+ ${CxxTest_TESTGEN_EXECUTABLE}
+ ${CxxTest_TESTGEN_ARGS} -o ${test_src} ${test_header}
+ )
+ endif()
set_source_files_properties(${test_src} PROPERTIES GENERATED true)
# The build target is created without the path prefix (not supported),
# e.g., for '<output_dir>/myunittest.h'