mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-06 18:29:50 +09:00
Added unit testing support using check.
This commit is contained in:
22
cmake/Modules/AddCheckTest.cmake
Normal file
22
cmake/Modules/AddCheckTest.cmake
Normal file
@@ -0,0 +1,22 @@
|
||||
# - ADD_CHECK_TEST(test_name test_source linklib1 ... linklibN)
|
||||
|
||||
# Copyright (c) 2007, Daniel Gollub, <dgollub@suse.de>
|
||||
# Copyright (c) 2007, Andreas Schneider, <mail@cynapses.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
enable_testing()
|
||||
include(CTest)
|
||||
|
||||
set(CMAKE_C_FLAGS_PROFILING "-g -O0 -Wall -W -Wshadow -Wunused-variable -Wunused-parameter -Wunused-function -Wunused -Wno-system-headers -Wwrite-strings -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Compiler Flags")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
||||
set(CMAKE_EXEC_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
||||
|
||||
function (ADD_CHECK_TEST _testName _testSource)
|
||||
add_executable(${_testName} ${_testSource})
|
||||
target_link_libraries(${_testName} ${ARGN})
|
||||
add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
|
||||
endfunction (ADD_CHECK_TEST)
|
||||
|
||||
90
cmake/Modules/FindCheck.cmake
Normal file
90
cmake/Modules/FindCheck.cmake
Normal file
@@ -0,0 +1,90 @@
|
||||
# - Try to find Check
|
||||
# Once done this will define
|
||||
#
|
||||
# CHECK_FOUND - system has Check
|
||||
# CHECK_INCLUDE_DIRS - the Check include directory
|
||||
# CHECK_LIBRARIES - Link these to use Check
|
||||
# CHECK_DEFINITIONS - Compiler switches required for using Check
|
||||
#
|
||||
# Copyright (c) 2010 Andreas Schneider <mail@cynapses.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the New
|
||||
# BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
|
||||
|
||||
if (CHECK_LIBRARIES AND CHECK_INCLUDE_DIRS)
|
||||
# in cache already
|
||||
set(CHECK_FOUND TRUE)
|
||||
else (CHECK_LIBRARIES AND CHECK_INCLUDE_DIRS)
|
||||
# use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||
include(UsePkgConfig)
|
||||
pkgconfig(check _CHECK_INCLUDEDIR _CHECK_LIBDIR _CHECK_LDFLAGS _CHECK_CFLAGS)
|
||||
else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||
find_package(PkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(_CHECK check)
|
||||
endif (PKG_CONFIG_FOUND)
|
||||
endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||
|
||||
find_path(CHECK_INCLUDE_DIR
|
||||
NAMES
|
||||
check.h
|
||||
PATHS
|
||||
${_CHECK_INCLUDEDIR}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
/sw/include
|
||||
)
|
||||
mark_as_advanced(CHECK_INCLUDE_DIR)
|
||||
|
||||
find_library(CHECK_LIBRARY
|
||||
NAMES
|
||||
check
|
||||
PATHS
|
||||
${_CHECK_LIBDIR}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
/sw/lib
|
||||
)
|
||||
mark_as_advanced(CHECK_LIBRARY)
|
||||
|
||||
if (CHECK_LIBRARY)
|
||||
set(CHECK_FOUND TRUE CACHE INTERNAL "Wether the check library has been found" FORCE)
|
||||
endif (CHECK_LIBRARY)
|
||||
|
||||
set(CHECK_INCLUDE_DIRS
|
||||
${CHECK_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
if (CHECK_FOUND)
|
||||
set(CHECK_LIBRARIES
|
||||
${CHECK_LIBRARIES}
|
||||
${CHECK_LIBRARY}
|
||||
)
|
||||
endif (CHECK_FOUND)
|
||||
|
||||
if (CHECK_INCLUDE_DIRS AND CHECK_LIBRARIES)
|
||||
set(CHECK_FOUND TRUE)
|
||||
endif (CHECK_INCLUDE_DIRS AND CHECK_LIBRARIES)
|
||||
|
||||
if (CHECK_FOUND)
|
||||
if (NOT Check_FIND_QUIETLY)
|
||||
message(STATUS "Found Check: ${CHECK_LIBRARIES}")
|
||||
endif (NOT Check_FIND_QUIETLY)
|
||||
else (CHECK_FOUND)
|
||||
if (Check_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find Check")
|
||||
endif (Check_FIND_REQUIRED)
|
||||
endif (CHECK_FOUND)
|
||||
|
||||
# show the CHECK_INCLUDE_DIRS and CHECK_LIBRARIES variables only in the advanced view
|
||||
mark_as_advanced(CHECK_INCLUDE_DIRS CHECK_LIBRARIES)
|
||||
|
||||
endif (CHECK_LIBRARIES AND CHECK_INCLUDE_DIRS)
|
||||
|
||||
Reference in New Issue
Block a user