# - try to find cppunit library
#
# Cache Variables: (probably not for direct use in your scripts)
#  CPPUNIT_INCLUDE_DIR
#  CPPUNIT_LIBRARY
#
# Non-cache variables you might use in your CMakeLists.txt:
#  CPPUNIT_FOUND
#  CPPUNIT_INCLUDE_DIRS
#  CPPUNIT_LIBRARIES
#
# Requires these CMake modules:
#  SelectLibraryConfigurations (included with CMake >= 2.8.0)
#  FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
#
# Original Author:
# 2009-2011 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright Iowa State University 2009-2011.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

set(CPPUNIT_ROOT_DIR
        "${CPPUNIT_ROOT_DIR}"
        CACHE
        PATH
        "Directory to search")

find_library(CPPUNIT_LIBRARY_RELEASE
        NAMES
        cppunit
        HINTS
        "${CPPUNIT_ROOT_DIR}")

find_library(CPPUNIT_LIBRARY_DEBUG
        NAMES
        cppunitd
        HINTS
        "${CPPUNIT_ROOT_DIR}")

include(SelectLibraryConfigurations)
select_library_configurations(CPPUNIT)

# Might want to look close to the library first for the includes.
get_filename_component(_libdir "${CPPUNIT_LIBRARY_RELEASE}" PATH)

find_path(CPPUNIT_INCLUDE_DIR
        NAMES
        cppunit/TestCase.h
        HINTS
        "${_libdir}/.."
        PATHS
        "${CPPUNIT_ROOT_DIR}"
        PATH_SUFFIXES
        include/)


include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(cppunit
        DEFAULT_MSG
        CPPUNIT_LIBRARY
        CPPUNIT_INCLUDE_DIR)

if(CPPUNIT_FOUND)
    set(CPPUNIT_LIBRARIES ${CPPUNIT_LIBRARY} ${CMAKE_DL_LIBS})
    set(CPPUNIT_INCLUDE_DIRS "${CPPUNIT_INCLUDE_DIR}")
    mark_as_advanced(CPPUNIT_ROOT_DIR)
endif()

mark_as_advanced(CPPUNIT_INCLUDE_DIR
        CPPUNIT_LIBRARY_RELEASE
        CPPUNIT_LIBRARY_DEBUG)