# - Try to find SIGC++ # Once done this will define # # SIGC++_ROOT_DIR - Set this variable to the root installation of SIGC++ # SIGC++_FOUND - system has SIGC++ # SIGC++_INCLUDE_DIRS - the SIGC++ include directory # SIGC++_LIBRARIES - Link these to use SIGC++ # # Copyright (c) 2008 Joshua L. Blocher # Copyright (c) 2012 Dmitry Baryshnikov # Copyright (c) 2013-2017 Mikhail Paulyshka # # Distributed under the OSI-approved BSD License # if (NOT WIN32) find_package(PkgConfig) if (PKG_CONFIG_FOUND) pkg_check_modules(_SIGC++ sigc++-2.0) SET(SIGC++_VERSION ${_SIGC++_VERSION}) endif (PKG_CONFIG_FOUND) endif (NOT WIN32) SET(_SIGC++_ROOT_HINTS $ENV{SIGC++} ${CMAKE_FIND_ROOT_PATH} ${SIGC++_ROOT_DIR} ) SET(_SIGC++_ROOT_PATHS $ENV{SIGC++}/src /usr /usr/local ) SET(_SIGC++_ROOT_HINTS_AND_PATHS HINTS ${_SIGC++_ROOT_HINTS} PATHS ${_SIGC++_ROOT_PATHS} ) FIND_PATH(SIGC++_INCLUDE_DIR NAMES "sigc++/sigc++.h" HINTS ${_SIGC++_INCLUDEDIR} ${_SIGC++_ROOT_HINTS_AND_PATHS} PATH_SUFFIXES include "include/sigc++-2.0" ) find_path(SIGC++_CONFIG_INCLUDE_DIR NAMES sigc++config.h HINTS ${_SIGC++_LIBDIR} ${_SIGC++_INCLUDEDIR} ${_SIGC++_ROOT_HINTS_AND_PATHS} PATH_SUFFIXES include lib "sigc++-2.0/include" "lib/sigc++-2.0" "lib/sigc++-2.0/include" ) FIND_LIBRARY(SIGC++_LIBRARY NAMES sigc-2.0 HINTS ${_SIGC++_LIBDIR} ${_SIGC++_ROOT_HINTS_AND_PATHS} PATH_SUFFIXES "lib" "local/lib" ) SET(SIGC++_LIBRARIES ${SIGC++_LIBRARY} ) SET(SIGC++_INCLUDE_DIRS ${SIGC++_INCLUDE_DIR} ${SIGC++_CONFIG_INCLUDE_DIR} ) if (NOT SIGC++_VERSION) if (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h") file(READ "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h" SIGC++_VERSION_CONTENT) string(REGEX MATCH "#define +SIGCXX_MAJOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}") set(SIGC++_VERSION_MAJOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define +SIGCXX_MINOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}") set(SIGC++_VERSION_MINOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define +SIGCXX_MICRO_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}") set(SIGC++_VERSION_MICRO "${CMAKE_MATCH_1}") set(SIGC++_VERSION "${SIGC++_VERSION_MAJOR}.${SIGC++_VERSION_MINOR}.${SIGC++_VERSION_MICRO}") endif (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h") endif(NOT SIGC++_VERSION) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(SIGC++ REQUIRED_VARS SIGC++_LIBRARIES SIGC++_INCLUDE_DIRS VERSION_VAR SIGC++_VERSION FAIL_MESSAGE "Could NOT find SIGC++, try to set the path to SIGC++ root folder in the system variable SIGC++" ) MARK_AS_ADVANCED(SIGC++_CONFIG_INCLUDE_DIR SIGC++_INCLUDE_DIR SIGC++_INCLUDE_DIRS SIGC++_LIBRARY SIGC++_LIBRARIES)