1
# - Try to find the libcppunit libraries
2
# Once done this will define
4
# CppUnit_FOUND - system has libcppunit
5
# CPPUNIT_INCLUDE_DIR - the libcppunit include directory
6
# CPPUNIT_LIBRARIES - libcppunit library
8
include (MacroEnsureVersion)
10
if(NOT CPPUNIT_MIN_VERSION)
11
SET(CPPUNIT_MIN_VERSION 1.12.0)
12
endif(NOT CPPUNIT_MIN_VERSION)
14
FIND_PROGRAM(CPPUNIT_CONFIG_EXECUTABLE cppunit-config )
16
IF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
19
SET(CppUnit_FOUND TRUE)
21
ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
23
SET(CPPUNIT_INCLUDE_DIR)
24
SET(CPPUNIT_LIBRARIES)
26
IF(CPPUNIT_CONFIG_EXECUTABLE)
27
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_CFLAGS)
28
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_LIBRARIES)
29
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_INSTALLED_VERSION)
30
STRING(REGEX REPLACE "-I(.+)" "\\1" CPPUNIT_CFLAGS "${CPPUNIT_CFLAGS}")
31
ELSE(CPPUNIT_CONFIG_EXECUTABLE)
32
# in case win32 needs to find it the old way?
33
FIND_PATH(CPPUNIT_CFLAGS cppunit/TestRunner.h PATHS /usr/include /usr/local/include )
34
FIND_LIBRARY(CPPUNIT_LIBRARIES NAMES cppunit PATHS /usr/lib /usr/local/lib )
35
# how can we find cppunit version?
36
MESSAGE (STATUS "Ensure you cppunit installed version is at least ${CPPUNIT_MIN_VERSION}")
37
SET (CPPUNIT_INSTALLED_VERSION ${CPPUNIT_MIN_VERSION})
38
ENDIF(CPPUNIT_CONFIG_EXECUTABLE)
40
SET(CPPUNIT_INCLUDE_DIR ${CPPUNIT_CFLAGS} "${CPPUNIT_CFLAGS}/cppunit")
42
ENDIF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
44
IF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
46
SET(CppUnit_FOUND TRUE)
48
if(NOT CppUnit_FIND_QUIETLY)
49
MESSAGE (STATUS "Found cppunit: ${CPPUNIT_LIBRARIES}")
50
endif(NOT CppUnit_FIND_QUIETLY)
52
IF(CPPUNIT_CONFIG_EXECUTABLE)
53
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_INSTALLED_VERSION)
54
ENDIF(CPPUNIT_CONFIG_EXECUTABLE)
56
macro_ensure_version( ${CPPUNIT_MIN_VERSION} ${CPPUNIT_INSTALLED_VERSION} CPPUNIT_INSTALLED_VERSION_OK )
58
IF(NOT CPPUNIT_INSTALLED_VERSION_OK)
59
MESSAGE ("** CppUnit version is too old: found ${CPPUNIT_INSTALLED_VERSION} installed, ${CPPUNIT_MIN_VERSION} or major is required")
60
SET(CppUnit_FOUND FALSE)
61
ENDIF(NOT CPPUNIT_INSTALLED_VERSION_OK)
63
ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
65
SET(CppUnit_FOUND FALSE CACHE BOOL "Not found cppunit library")
67
ENDIF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
69
MARK_AS_ADVANCED(CPPUNIT_INCLUDE_DIR CPPUNIT_LIBRARIES)