1
0
Fork 0

TestSuite: Support for building the FlightGear bundled CppUnit library.

The CppUnit source is built as a static library and linked to the run_test_suite
executable.  The FlightGear CppUnit library is now build using CMake rather than
using the Autotools build system.
This commit is contained in:
Edward d'Auvergne 2018-03-06 11:08:15 +01:00
parent 3c73600237
commit e66db5ca3a
6 changed files with 136 additions and 0 deletions

18
3rdparty/cppunit/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,18 @@
set(CPPUNIT_SOURCES
${CPPUNIT_SOURCES}
)
set(CPPUNIT_HEADERS
${CPPUNIT_HEADERS}
)
# Add the src and header directories.
add_subdirectory(src)
add_subdirectory(include)
foreach(s ${CPPUNIT_SOURCES})
set_property(GLOBAL APPEND PROPERTY CPPUNIT_SOURCES "${s}")
endforeach()
foreach(h ${CPPUNIT_HEADERS})
set_property(GLOBAL APPEND PROPERTY CPPUNIT_HEADERS "${h}")
endforeach()

View file

@ -0,0 +1,6 @@
add_subdirectory(cppunit)
set(CPPUNIT_HEADERS
${CPPUNIT_HEADERS}
PARENT_SCOPE
)

View file

@ -0,0 +1,36 @@
set(CPPUNIT_HEADERS
${CPPUNIT_HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/AdditionalMessage.h
${CMAKE_CURRENT_SOURCE_DIR}/Asserter.h
${CMAKE_CURRENT_SOURCE_DIR}/BriefTestProgressListener.h
${CMAKE_CURRENT_SOURCE_DIR}/CompilerOutputter.h
${CMAKE_CURRENT_SOURCE_DIR}/Exception.h
${CMAKE_CURRENT_SOURCE_DIR}/Message.h
${CMAKE_CURRENT_SOURCE_DIR}/Outputter.h
${CMAKE_CURRENT_SOURCE_DIR}/Portability.h
${CMAKE_CURRENT_SOURCE_DIR}/Protector.h
${CMAKE_CURRENT_SOURCE_DIR}/SourceLine.h
${CMAKE_CURRENT_SOURCE_DIR}/SynchronizedObject.h
${CMAKE_CURRENT_SOURCE_DIR}/Test.h
${CMAKE_CURRENT_SOURCE_DIR}/TestAssert.h
${CMAKE_CURRENT_SOURCE_DIR}/TestCase.h
${CMAKE_CURRENT_SOURCE_DIR}/TestCaller.h
${CMAKE_CURRENT_SOURCE_DIR}/TestComposite.h
${CMAKE_CURRENT_SOURCE_DIR}/TestFailure.h
${CMAKE_CURRENT_SOURCE_DIR}/TestFixture.h
${CMAKE_CURRENT_SOURCE_DIR}/TestLeaf.h
${CMAKE_CURRENT_SOURCE_DIR}/TestPath.h
${CMAKE_CURRENT_SOURCE_DIR}/TestResult.h
${CMAKE_CURRENT_SOURCE_DIR}/TestResultCollector.h
${CMAKE_CURRENT_SOURCE_DIR}/TestRunner.h
${CMAKE_CURRENT_SOURCE_DIR}/TestSuccessListener.h
${CMAKE_CURRENT_SOURCE_DIR}/TestSuite.h
${CMAKE_CURRENT_SOURCE_DIR}/TextOutputter.h
${CMAKE_CURRENT_SOURCE_DIR}/TextTestProgressListener.h
${CMAKE_CURRENT_SOURCE_DIR}/TextTestResult.h
${CMAKE_CURRENT_SOURCE_DIR}/TextTestRunner.h
${CMAKE_CURRENT_SOURCE_DIR}/TestListener.h
${CMAKE_CURRENT_SOURCE_DIR}/XmlOutputter.h
${CMAKE_CURRENT_SOURCE_DIR}/XmlOutputterHook.h
PARENT_SCOPE
)

6
3rdparty/cppunit/src/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,6 @@
add_subdirectory(cppunit)
set(CPPUNIT_SOURCES
${CPPUNIT_SOURCES}
PARENT_SCOPE
)

View file

@ -0,0 +1,55 @@
set(CPPUNIT_SOURCES
${CPPUNIT_SOURCES}
${CMAKE_CURRENT_SOURCE_DIR}/AdditionalMessage.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Asserter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/BriefTestProgressListener.cpp
${CMAKE_CURRENT_SOURCE_DIR}/CompilerOutputter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/DefaultProtector.h
${CMAKE_CURRENT_SOURCE_DIR}/DefaultProtector.cpp
${CMAKE_CURRENT_SOURCE_DIR}/DynamicLibraryManager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/DynamicLibraryManagerException.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Exception.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Message.cpp
${CMAKE_CURRENT_SOURCE_DIR}/RepeatedTest.cpp
${CMAKE_CURRENT_SOURCE_DIR}/PlugInManager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/PlugInParameters.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Protector.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ProtectorChain.h
${CMAKE_CURRENT_SOURCE_DIR}/ProtectorContext.h
${CMAKE_CURRENT_SOURCE_DIR}/ProtectorChain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/SourceLine.cpp
${CMAKE_CURRENT_SOURCE_DIR}/StringTools.cpp
${CMAKE_CURRENT_SOURCE_DIR}/SynchronizedObject.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Test.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestAssert.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestCase.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestCaseDecorator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestComposite.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestDecorator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestFactoryRegistry.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestFailure.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestLeaf.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestNamer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestPath.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestPlugInDefaultImpl.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestResult.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestResultCollector.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestRunner.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestSetUp.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestSuccessListener.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestSuite.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TestSuiteBuilderContext.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TextOutputter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TextTestProgressListener.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TextTestResult.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TextTestRunner.cpp
${CMAKE_CURRENT_SOURCE_DIR}/TypeInfoHelper.cpp
${CMAKE_CURRENT_SOURCE_DIR}/UnixDynamicLibraryManager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ShlDynamicLibraryManager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/XmlDocument.cpp
${CMAKE_CURRENT_SOURCE_DIR}/XmlElement.cpp
${CMAKE_CURRENT_SOURCE_DIR}/XmlOutputter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/XmlOutputterHook.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Win32DynamicLibraryManager.cpp
PARENT_SCOPE
)

View file

@ -31,6 +31,21 @@ set(TESTSUITE_HEADERS
# The test suite output directory.
set(TESTSUITE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
# Get the CppUnit sources and headers to be built into the test suite.
if (NOT SYSTEM_CPPUNIT)
message(STATUS "CppUnit: Building the FlightGear supplied CppUnit library")
get_property(CPPUNIT_SOURCES GLOBAL PROPERTY CPPUNIT_SOURCES)
get_property(CPPUNIT_HEADERS GLOBAL PROPERTY CPPUNIT_HEADERS)
include_directories("${PROJECT_SOURCE_DIR}/3rdparty/cppunit/include")
add_library(CppUnitLib STATIC ${CPPUNIT_SOURCES} ${CPPUNIT_HEADERS})
set(CPPUNIT_LIBRARIES CppUnitLib)
else()
message(STATUS "CppUnit: Linking to the system supplied CppUnit library")
endif()
#-----------------------------------------------------------------------------
# From here on, this is a modified copy of src/Main/CMakeLists.txt. This is
# designed to have a minimal diff so that this can be updated together with the