summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2018-09-27 19:47:25 -0700
committerGitHub <noreply@github.com>2018-09-27 19:47:25 -0700
commitf939b41b2710ea2020a646b2f1a018fb9c78ff8c (patch)
treed3e11538a1783daa896b54fb102b2467b6f3f77d /cmake
parent4a9e21371a5012285114126cab1dbce18fdcec6c (diff)
cmake: Add CxxTest finder module to allow custom paths. (#2542)
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindCxxTest.cmake45
1 files changed, 45 insertions, 0 deletions
diff --git a/cmake/FindCxxTest.cmake b/cmake/FindCxxTest.cmake
new file mode 100644
index 000000000..cd7aed70d
--- /dev/null
+++ b/cmake/FindCxxTest.cmake
@@ -0,0 +1,45 @@
+# Find CxxTest
+# CxxTest_FOUND - system has CxxTest lib
+# CxxTest_INCLUDE_DIR - the CxxTest include directory
+# CxxTest_TESTGEN_EXECUTABLE - CxxTest excecutable
+# CxxTest_TESTGEN_INTERPRETER - Python/Perl interpreter for running executable
+
+find_package(PythonInterp QUIET)
+find_package(Perl QUIET)
+
+find_path(CxxTest_INCLUDE_DIR cxxtest/TestSuite.h
+ PATHS ${CxxTest_HOME}
+ NO_DEFAULT_PATH)
+find_program(CxxTest_PYTHON_TESTGEN_EXECUTABLE
+ NAMES cxxtestgen cxxtestgen.py
+ PATHS ${CxxTest_HOME}/bin
+ NO_DEFAULT_PATH)
+find_program(CxxTest_PERL_TESTGEN_EXECUTABLE cxxtestgen.pl
+ PATHS ${CxxTest_HOME}/bin
+ NO_DEFAULT_PATH)
+
+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_PERL_TESTGEN_EXECUTABLE cxxtestgen.pl)
+endif()
+
+if(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)
+ set(CxxTest_TESTGEN_EXECUTABLE ${CxxTest_PERL_TESTGEN_EXECUTABLE})
+ set(CxxTest_TESTGEN_INTERPRETER ${PERL_EXECUTABLE})
+elseif(NOT PYTHONINTERP_FOUND AND NOT PERL_FOUND AND CxxTest_FIND_REQUIRED)
+ message(FATAL_ERROR "Neither Python nor Perl found, cannot use CxxTest.")
+endif()
+
+if(NOT DEFINED CxxTest_TESTGEN_ARGS)
+ set(CxxTest_TESTGEN_ARGS --error-printer)
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(
+ CxxTest DEFAULT_MSG CxxTest_INCLUDE_DIR CxxTest_TESTGEN_EXECUTABLE)
+
+mark_as_advanced(CxxTest_INCLUDE_DIR CxxTest_TESTGEN_EXECUTABLE)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback