cppcheck/test/CMakeLists.txt

78 lines
2.2 KiB
CMake

# Minimal CMake build file to build cppcheck test suite
find_package(PCRE REQUIRED)
set(TINYXML_INCLUDE_DIR "${CPPCHECK_SOURCE_DIR}/externals/tinyxml/")
SET(CHECKTEST_SRCS
"${CPPCHECK_SOURCE_DIR}/cli/cmdlineparser.cpp"
"${CPPCHECK_SOURCE_DIR}/cli/cppcheckexecutor.cpp"
"${CPPCHECK_SOURCE_DIR}/cli/filelister.cpp"
"${CPPCHECK_SOURCE_DIR}/cli/threadexecutor.cpp"
"${CPPCHECK_SOURCE_DIR}/cli/pathmatch.cpp"
options.cpp
testautovariables.cpp
testbufferoverrun.cpp
testcharvar.cpp
testclass.cpp
testcmdlineparser.cpp
testconstructors.cpp
testcppcheck.cpp
testdivision.cpp
testerrorlogger.cpp
testexceptionsafety.cpp
testincompletestatement.cpp
testmathlib.cpp
testmemleak.cpp
testnullpointer.cpp
testobsoletefunctions.cpp
testoptions.cpp
testother.cpp
testpath.cpp
testpostfixoperator.cpp
testpreprocessor.cpp
testrunner.cpp
testsettings.cpp
testsimplifytokens.cpp
teststl.cpp
testsuite.cpp
testsymboldatabase.cpp
testthreadexecutor.cpp
testtoken.cpp
testtokenize.cpp
testuninitvar.cpp
testunusedfunctions.cpp
testunusedprivfunc.cpp
testunusedvar.cpp
"${TINYXML_INCLUDE_DIR}tinystr.cpp"
"${TINYXML_INCLUDE_DIR}tinyxml.cpp"
"${TINYXML_INCLUDE_DIR}tinyxmlerror.cpp"
"${TINYXML_INCLUDE_DIR}tinyxmlparser.cpp")
set(CPPCHECK_LIB_DIR "${CPPCHECK_SOURCE_DIR}/lib/")
include("${CPPCHECK_LIB_DIR}library_sources.cmake")
if(WIN32)
if(NOT CYGWIN)
# Windows needs additional shlwapi library.
set(CHECK_LIBS ${CHECK_LIBS} shlwapi)
endif()
else()
set(CHECKTEST_SRCS ${CHECKTEST_SRCS} testfilelister_unix.cpp)
endif()
if (CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wshadow -Wno-long-long -Wfloat-equal -Wcast-qual")
endif (CMAKE_COMPILER_IS_GNUCXX)
include_directories("${CPPCHECK_SOURCE_DIR}/lib"
"${CPPCHECK_SOURCE_DIR}/cli"
"${PCRE_INCLUDE_DIR}"
"${TINYXML_INCLUDE_DIR}")
add_executable(test ${CHECKTEST_SRCS} ${CPPCHECK_LIB_SOURCES})
TARGET_LINK_LIBRARIES(test ${CHECK_LIBS} ${PCRE_LIBRARIES})
# Add custom 'make check' -target
# It compiles and runs tests
add_custom_target(check COMMAND test)
add_dependencies(check test)