summaryrefslogtreecommitdiffstats
path: root/Modules/FindCxxTest.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/FindCxxTest.cmake')
-rw-r--r--Modules/FindCxxTest.cmake175
1 files changed, 79 insertions, 96 deletions
diff --git a/Modules/FindCxxTest.cmake b/Modules/FindCxxTest.cmake
index 04f8b59..714927f 100644
--- a/Modules/FindCxxTest.cmake
+++ b/Modules/FindCxxTest.cmake
@@ -7,136 +7,119 @@ FindCxxTest
Find CxxTest unit testing framework.
-Find the CxxTest suite and declare a helper macro for creating unit
-tests and integrating them with CTest. For more details on CxxTest
-see https://cxxtest.com
+Find the `CxxTest`_ suite and declare a helper macro for creating
+unit tests and integrating them with CTest.
-INPUT Variables
+.. _`CxxTest`: https://github.com/CxxTest/cxxtest#readme
-::
+Input Variables
+^^^^^^^^^^^^^^^
- CXXTEST_USE_PYTHON [deprecated since 1.3]
- Only used in the case both Python & Perl
- are detected on the system to control
- which CxxTest code generator is used.
- Valid only for CxxTest version 3.
+``CXXTEST_USE_PYTHON``
+ .. deprecated:: 1.3
+ Only used in the case both Python & Perl
+ are detected on the system to control
+ which CxxTest code generator is used.
+ Valid only for CxxTest version 3.
+ In older versions of this Find Module,
+ this variable controlled if the Python test
+ generator was used instead of the Perl one,
+ regardless of which scripting language the
+ user had installed.
-::
+``CXXTEST_TESTGEN_ARGS``
+ .. versionadded:: 2.8.3
- NOTE: In older versions of this Find Module,
- this variable controlled if the Python test
- generator was used instead of the Perl one,
- regardless of which scripting language the
- user had installed.
+ Specify a list of options to pass to the CxxTest code
+ generator. If not defined, ``--error-printer`` is passed.
+Result Variables
+^^^^^^^^^^^^^^^^
+``CXXTEST_FOUND``
+ True if the CxxTest framework was found
-::
+``CXXTEST_INCLUDE_DIRS``
+ Where to find the CxxTest include directory
- CXXTEST_TESTGEN_ARGS (since CMake 2.8.3)
- Specify a list of options to pass to the CxxTest code
- generator. If not defined, --error-printer is
- passed.
+``CXXTEST_PERL_TESTGEN_EXECUTABLE``
+ The perl-based test generator
+``CXXTEST_PYTHON_TESTGEN_EXECUTABLE``
+ The python-based test generator
+``CXXTEST_TESTGEN_EXECUTABLE``
+ .. versionadded:: 2.8.3
-OUTPUT Variables
+ The test generator that is actually used (chosen using user preferences
+ and interpreters found in the system)
-::
+``CXXTEST_TESTGEN_INTERPRETER``
+ .. versionadded:: 2.8.3
- CXXTEST_FOUND
- True if the CxxTest framework was found
- CXXTEST_INCLUDE_DIRS
- Where to find the CxxTest include directory
- CXXTEST_PERL_TESTGEN_EXECUTABLE
- The perl-based test generator
- CXXTEST_PYTHON_TESTGEN_EXECUTABLE
- The python-based test generator
- CXXTEST_TESTGEN_EXECUTABLE (since CMake 2.8.3)
- The test generator that is actually used (chosen using user preferences
- and interpreters found in the system)
- CXXTEST_TESTGEN_INTERPRETER (since CMake 2.8.3)
- The full path to the Perl or Python executable on the system, on
- platforms where the script cannot be executed using its shebang line.
+ The full path to the Perl or Python executable on the system, on
+ platforms where the script cannot be executed using its shebang line.
+Module Commands
+^^^^^^^^^^^^^^^
-MACROS for optional use by CMake users:
+.. command:: cxxtest_add_test
-::
+ Create a CxxTest runner and adds it to the CTest testing suite::
- CXXTEST_ADD_TEST(<test_name> <gen_source_file> <input_files_to_testgen...>)
- Creates a CxxTest runner and adds it to the CTest testing suite
- Parameters:
- test_name The name of the test
- gen_source_file The generated source filename to be
- generated by CxxTest
- input_files_to_testgen The list of header files containing the
- CxxTest::TestSuite's to be included in
- this runner
+ CXXTEST_ADD_TEST(<test_name> <gen_source_file>
+ <input_files_to_testgen>...)
+ Parameters:
+ ``test_name``
+ The name of the test
-::
+ ``gen_source_file``
+ The generated source filename to be generated by CxxTest
- #==============
- Example Usage:
+ ``input_files_to_testgen``
+ The list of header files containing the CxxTest::TestSuite's
+ to be included in this runner
+Example Usage
+^^^^^^^^^^^^^
+The following example, if CxxTest is found, will:
-::
+* Invoke the testgen executable to autogenerate foo_test.cc in the
+ binary tree from "foo_test.h" in the current source directory.
+* Create an executable and test called unittest_foo.
- find_package(CxxTest)
- if(CXXTEST_FOUND)
- include_directories(${CXXTEST_INCLUDE_DIR})
- enable_testing()
+.. code-block:: cmake
+ find_package(CxxTest)
+ if(CXXTEST_FOUND)
+ include_directories(${CXXTEST_INCLUDE_DIR})
+ enable_testing()
+ CXXTEST_ADD_TEST(unittest_foo foo_test.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
+ target_link_libraries(unittest_foo foo) # as needed
+ endif()
+``foo_test.h`` contains:
-::
-
- CXXTEST_ADD_TEST(unittest_foo foo_test.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
- target_link_libraries(unittest_foo foo) # as needed
- endif()
-
-
-
-::
-
- This will (if CxxTest is found):
- 1. Invoke the testgen executable to autogenerate foo_test.cc in the
- binary tree from "foo_test.h" in the current source directory.
- 2. Create an executable and test called unittest_foo.
-
-
-
-::
-
- #=============
- Example foo_test.h:
-
-
-
-::
-
- #include <cxxtest/TestSuite.h>
-
-
+.. code-block:: c++
-::
+ #include <cxxtest/TestSuite.h>
+ class MyTestSuite : public CxxTest::TestSuite
+ {
+ public:
+ void testAddition( void )
+ {
+ TS_ASSERT( 1 + 1 > 1 );
+ TS_ASSERT_EQUALS( 1 + 1, 2 );
+ }
+ };
- class MyTestSuite : public CxxTest::TestSuite
- {
- public:
- void testAddition( void )
- {
- TS_ASSERT( 1 + 1 > 1 );
- TS_ASSERT_EQUALS( 1 + 1, 2 );
- }
- };
#]=======================================================================]
# Version 1.4 (11/18/10) (CMake 2.8.4)