From 224ee0625ead857122905aaaa33aaf6a2d1ba566 Mon Sep 17 00:00:00 2001 From: verbalshadow Date: Thu, 12 Jun 2008 05:23:13 +0000 Subject: [PATCH] Cmake: Fix Dependencies with multiple include directories. --- CMakeScripts/FindATKMM.cmake | 89 +++++++++++++++++++++++++ CMakeScripts/FindCAIROMM.cmake | 89 +++++++++++++++++++++++++ CMakeScripts/FindGDKMM.cmake | 103 +++++++++++++++++++++++++++++ CMakeScripts/FindGLIBMM.cmake | 102 +++++++++++++++++++++++++++++ CMakeScripts/FindGtkMM.cmake | 111 +++++++++++++++++++------------- CMakeScripts/FindPANGOMM.cmake | 89 +++++++++++++++++++++++++ CMakeScripts/FindSigC++.cmake | 38 +++++++---- src/live_effects/CMakeLists.txt | 2 + 8 files changed, 565 insertions(+), 58 deletions(-) create mode 100644 CMakeScripts/FindATKMM.cmake create mode 100644 CMakeScripts/FindCAIROMM.cmake create mode 100644 CMakeScripts/FindGDKMM.cmake create mode 100644 CMakeScripts/FindGLIBMM.cmake create mode 100644 CMakeScripts/FindPANGOMM.cmake diff --git a/CMakeScripts/FindATKMM.cmake b/CMakeScripts/FindATKMM.cmake new file mode 100644 index 000000000..4998572ad --- /dev/null +++ b/CMakeScripts/FindATKMM.cmake @@ -0,0 +1,89 @@ +# - Try to find ATKMM +# Once done this will define +# +# ATKMM_FOUND - system has ATKMM +# ATKMM_INCLUDE_DIRS - the ATKMM include directory +# ATKMM_LIBRARIES - Link these to use ATKMM +# ATKMM_DEFINITIONS - Compiler switches required for using ATKMM +# +# Copyright (c) 2008 Joshua L. Blocher +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + + +if (ATKMM_LIBRARIES AND ATKMM_INCLUDE_DIRS) + # in cache already + set(ATKMM_FOUND TRUE) +else (ATKMM_LIBRARIES AND ATKMM_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(atkmm-1.6 _ATKMM_INCLUDEDIR _ATKMM_LIBDIR _ATKMM_LDFLAGS _ATKMM_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_ATKMM atkmm-1.6) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_path(ATKMM_INCLUDE_DIR + NAMES + atkmm.h + PATHS + ${_ATKMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + PATH_SUFFIXES + atkmm-1.6 + ) + + find_library(ATKMM-1.6_LIBRARY + NAMES + atkmm-1.6 + PATHS + ${_ATKMM_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (ATKMM-1.6_LIBRARY) + set(ATKMM-1.6_FOUND TRUE) + endif (ATKMM-1.6_LIBRARY) + + set(ATKMM_INCLUDE_DIRS + ${ATKMM_INCLUDE_DIR} + ) + + if (ATKMM-1.6_FOUND) + set(ATKMM_LIBRARIES + ${ATKMM_LIBRARIES} + ${ATKMM-1.6_LIBRARY} + ) + endif (ATKMM-1.6_FOUND) + + if (ATKMM_INCLUDE_DIRS AND ATKMM_LIBRARIES) + set(ATKMM_FOUND TRUE) + endif (ATKMM_INCLUDE_DIRS AND ATKMM_LIBRARIES) + + if (ATKMM_FOUND) + if (NOT ATKMM_FIND_QUIETLY) + message(STATUS "Found ATKMM: ${ATKMM_LIBRARIES}") + endif (NOT ATKMM_FIND_QUIETLY) + else (ATKMM_FOUND) + if (ATKMM_FIND_REQUIRED) + message(FATAL_ERROR "Could not find ATKMM") + endif (ATKMM_FIND_REQUIRED) + endif (ATKMM_FOUND) + + # show the ATKMM_INCLUDE_DIRS and ATKMM_LIBRARIES variables only in the advanced view + mark_as_advanced(ATKMM_INCLUDE_DIRS ATKMM_LIBRARIES) + +endif (ATKMM_LIBRARIES AND ATKMM_INCLUDE_DIRS) + diff --git a/CMakeScripts/FindCAIROMM.cmake b/CMakeScripts/FindCAIROMM.cmake new file mode 100644 index 000000000..16d6a6456 --- /dev/null +++ b/CMakeScripts/FindCAIROMM.cmake @@ -0,0 +1,89 @@ +# - Try to find CAIROMM +# Once done this will define +# +# CAIROMM_FOUND - system has CAIROMM +# CAIROMM_INCLUDE_DIRS - the CAIROMM include directory +# CAIROMM_LIBRARIES - Link these to use CAIROMM +# CAIROMM_DEFINITIONS - Compiler switches required for using CAIROMM +# +# Copyright (c) 2008 Joshua L. Blocher +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + + +if (CAIROMM_LIBRARIES AND CAIROMM_INCLUDE_DIRS) + # in cache already + set(CAIROMM_FOUND TRUE) +else (CAIROMM_LIBRARIES AND CAIROMM_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(cairomm-1.0 _CAIROMM_INCLUDEDIR _CAIROMM_LIBDIR _CAIROMM_LDFLAGS _CAIROMM_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_CAIROMM cairomm-1.0) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_path(CAIROMM_INCLUDE_DIR + NAMES + cairomm/cairomm.h + PATHS + ${_CAIROMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + PATH_SUFFIXES + cairomm-1.0 + ) + + find_library(CAIROMM-1.0_LIBRARY + NAMES + cairomm-1.0 + PATHS + ${_CAIROMM_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (CAIROMM-1.0_LIBRARY) + set(CAIROMM-1.0_FOUND TRUE) + endif (CAIROMM-1.0_LIBRARY) + + set(CAIROMM_INCLUDE_DIRS + ${CAIROMM_INCLUDE_DIR} + ) + + if (CAIROMM-1.0_FOUND) + set(CAIROMM_LIBRARIES + ${CAIROMM_LIBRARIES} + ${CAIROMM-1.0_LIBRARY} + ) + endif (CAIROMM-1.0_FOUND) + + if (CAIROMM_INCLUDE_DIRS AND CAIROMM_LIBRARIES) + set(CAIROMM_FOUND TRUE) + endif (CAIROMM_INCLUDE_DIRS AND CAIROMM_LIBRARIES) + + if (CAIROMM_FOUND) + if (NOT CAIROMM_FIND_QUIETLY) + message(STATUS "Found CAIROMM: ${CAIROMM_LIBRARIES}") + endif (NOT CAIROMM_FIND_QUIETLY) + else (CAIROMM_FOUND) + if (CAIROMM_FIND_REQUIRED) + message(FATAL_ERROR "Could not find CAIROMM") + endif (CAIROMM_FIND_REQUIRED) + endif (CAIROMM_FOUND) + + # show the CAIROMM_INCLUDE_DIRS and CAIROMM_LIBRARIES variables only in the advanced view + mark_as_advanced(CAIROMM_INCLUDE_DIRS CAIROMM_LIBRARIES) + +endif (CAIROMM_LIBRARIES AND CAIROMM_INCLUDE_DIRS) + diff --git a/CMakeScripts/FindGDKMM.cmake b/CMakeScripts/FindGDKMM.cmake new file mode 100644 index 000000000..37723349c --- /dev/null +++ b/CMakeScripts/FindGDKMM.cmake @@ -0,0 +1,103 @@ +# - Try to find GDKMM +# Once done this will define +# +# GDKMM_FOUND - system has GDKMM +# GDKMM_INCLUDE_DIRS - the GDKMM include directory +# GDKMM_LIBRARIES - Link these to use GDKMM +# GDKMM_DEFINITIONS - Compiler switches required for using GDKMM +# +# Copyright (c) 2008 Joshua L. Blocher +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + + +if (GDKMM_LIBRARIES AND GDKMM_INCLUDE_DIRS) + # in cache already + set(GDKMM_FOUND TRUE) +else (GDKMM_LIBRARIES AND GDKMM_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(gdkmm-2.4 _GDKMM_INCLUDEDIR _GDKMM_LIBDIR _GDKMM_LDFLAGS _GDKMM_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_GDKMM gdkmm-2.4) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_path(GDKMM_INCLUDE_DIR + NAMES + gdkmm.h + PATHS + ${_GDKMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + PATH_SUFFIXES + gdkmm-2.4 + ) + + find_path(GDKMM_CONFIG_INCLUDE_DIR + NAMES + gdkmmconfig.h + PATHS + ${_GDKMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + /usr/lib/gdkmm-2.4/include + /usr/lib64/gdkmm-2.4/include + ) + + find_library(GDKMM-2.4_LIBRARY + NAMES + gdkmm-2.4 + PATHS + ${_GDKMM_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (GDKMM-2.4_LIBRARY) + set(GDKMM-2.4_FOUND TRUE) + endif (GDKMM-2.4_LIBRARY) + + set(GDKMM_INCLUDE_DIRS + ${GDKMM_INCLUDE_DIR} + ${GDKMM_CONFIG_INCLUDE_DIR} + ) + + if (GDKMM-2.4_FOUND) + set(GDKMM_LIBRARIES + ${GDKMM_LIBRARIES} + ${GDKMM-2.4_LIBRARY} + ) + endif (GDKMM-2.4_FOUND) + + if (GDKMM_INCLUDE_DIRS AND GDKMM_LIBRARIES) + set(GDKMM_FOUND TRUE) + endif (GDKMM_INCLUDE_DIRS AND GDKMM_LIBRARIES) + + if (GDKMM_FOUND) + if (NOT GDKMM_FIND_QUIETLY) + message(STATUS "Found GDKMM: ${GDKMM_LIBRARIES}") + endif (NOT GDKMM_FIND_QUIETLY) + else (GDKMM_FOUND) + if (GDKMM_FIND_REQUIRED) + message(FATAL_ERROR "Could not find GDKMM") + endif (GDKMM_FIND_REQUIRED) + endif (GDKMM_FOUND) + + # show the GDKMM_INCLUDE_DIRS and GDKMM_LIBRARIES variables only in the advanced view + mark_as_advanced(GDKMM_INCLUDE_DIRS GDKMM_LIBRARIES) + +endif (GDKMM_LIBRARIES AND GDKMM_INCLUDE_DIRS) + diff --git a/CMakeScripts/FindGLIBMM.cmake b/CMakeScripts/FindGLIBMM.cmake new file mode 100644 index 000000000..bfbb55917 --- /dev/null +++ b/CMakeScripts/FindGLIBMM.cmake @@ -0,0 +1,102 @@ +# - Try to find glibmm +# Once done this will define +# +# GLIBMM_FOUND - system has glibmm +# GLIBMM_INCLUDE_DIRS - the glibmm include directory +# GLIBMM_LIBRARIES - Link these to use glibmm +# GLIBMM_DEFINITIONS - Compiler switches required for using glibmm +# +# Copyright (c) 2008 Joshua L. Blocher +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + + +if (GLIBMM_LIBRARIES AND GLIBMM_INCLUDE_DIRS) + # in cache already + set(GLIBMM_FOUND TRUE) +else (GLIBMM_LIBRARIES AND GLIBMM_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(glibmm-2.4 _GLIBMM_INCLUDEDIR _GLIBMM_LIBDIR _GLIBMM_LDFLAGS _GLIBMM_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_GLIBMM glibmm-2.4) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_path(GLIBMM_INCLUDE_DIR + NAMES + glibmm.h + PATHS + ${_GLIBMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + PATH_SUFFIXES + glibmm-2.4 + ) + + find_path(GLIBMM_CONFIG_INCLUDE_DIR + NAMES + glibmmconfig.h + PATHS + ${_GLIBMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + /usr/lib/glibmm-2.4/include + /usr/lib64/glibmm-2.4/include + ) + find_library(GLIBMM-2.4_LIBRARY + NAMES + glibmm-2.4 + PATHS + ${_GLIBMM_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (GLIBMM-2.4_LIBRARY) + set(GLIBMM-2.4_FOUND TRUE) + endif (GLIBMM-2.4_LIBRARY) + + set(GLIBMM_INCLUDE_DIRS + ${GLIBMM_INCLUDE_DIR} + ${GLIBMM_CONFIG_INCLUDE_DIR} + ) + + if (GLIBMM-2.4_FOUND) + set(GLIBMM_LIBRARIES + ${GLIBMM_LIBRARIES} + ${GLIBMM-2.4_LIBRARY} + ) + endif (GLIBMM-2.4_FOUND) + + if (GLIBMM_INCLUDE_DIRS AND GLIBMM_LIBRARIES) + set(GLIBMM_FOUND TRUE) + endif (GLIBMM_INCLUDE_DIRS AND GLIBMM_LIBRARIES) + + if (GLIBMM_FOUND) + if (NOT glibmm_FIND_QUIETLY) + message(STATUS "Found glibmm: ${GLIBMM_LIBRARIES}") + endif (NOT glibmm_FIND_QUIETLY) + else (GLIBMM_FOUND) + if (glibmm_FIND_REQUIRED) + message(FATAL_ERROR "Could not find glibmm") + endif (glibmm_FIND_REQUIRED) + endif (GLIBMM_FOUND) + + # show the GLIBMM_INCLUDE_DIRS and GLIBMM_LIBRARIES variables only in the advanced view + mark_as_advanced(GLIBMM_INCLUDE_DIRS GLIBMM_LIBRARIES) + +endif (GLIBMM_LIBRARIES AND GLIBMM_INCLUDE_DIRS) + diff --git a/CMakeScripts/FindGtkMM.cmake b/CMakeScripts/FindGtkMM.cmake index ff7232d80..8a87e6b8d 100644 --- a/CMakeScripts/FindGtkMM.cmake +++ b/CMakeScripts/FindGtkMM.cmake @@ -1,11 +1,10 @@ -# - Try to find GtkMM (glibmm-2.4 gdkmm-2.4 pangomm-1.4 atkmm-1.6) -# Where not going to find gtk+-2.0 as this is covered using FindGTK2 +# - Try to find GTKMM # Once done this will define # -# GTKMM_FOUND - system has GtkMM -# GTKMM_INCLUDE_DIRS - the GtkMM include directory -# GTKMM_LIBRARIES - Link these to use GtkMM -# GTKMM_DEFINITIONS - Compiler switches required for using GtkMM +# GTKMM_FOUND - system has GTKMM +# GTKMM_INCLUDE_DIRS - the GTKMM include directory +# GTKMM_LIBRARIES - Link these to use GTKMM +# GTKMM_DEFINITIONS - Compiler switches required for using GTKMM # # Copyright (c) 2008 Joshua L. Blocher # @@ -13,85 +12,109 @@ # BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # -SET(SubLibs -gtkmm-2.4 -glibmm-2.4 -gdkmm-2.4 -pangomm-1.4 -atkmm-1.6 -) - + + if (GTKMM_LIBRARIES AND GTKMM_INCLUDE_DIRS) # in cache already set(GTKMM_FOUND TRUE) else (GTKMM_LIBRARIES AND GTKMM_INCLUDE_DIRS) -FOREACH(_SUBLIB ${SubLibs}) - # Clean library name for header file - STRING(REGEX REPLACE "[-]([^ ]+)" "" _H_${_SUBLIB} "${_SUBLIB}" ) # 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(${_SUBLIB} _${_SUBLIB}_INCLUDEDIR _${_SUBLIB}_LIBDIR _${_SUBLIB}_LDFLAGS _${_SUBLIB}_CFLAGS) + pkgconfig(gtkmm-2.4 _GTKMM_INCLUDEDIR _GTKMM_LIBDIR _GTKMM_LDFLAGS _GTKMM_CFLAGS) else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) find_package(PkgConfig) if (PKG_CONFIG_FOUND) - pkg_check_modules(_${_SUBLIB} ${_SUBLIB}) + pkg_check_modules(_GTKMM gtkmm-2.4) endif (PKG_CONFIG_FOUND) endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - find_path(${_SUBLIB}_INCLUDE_DIR + find_path(GTKMM_INCLUDE_DIR NAMES - ${_H_${_SUBLIB}}.h + gtkmm.h PATHS - ${_${_SUBLIB}_INCLUDEDIR} + ${_GTKMM_INCLUDEDIR} /usr/include /usr/local/include /opt/local/include /sw/include - $ENV{DEVLIBS_PATH}//include// PATH_SUFFIXES - ${_SUBLIB} + gtkmm-2.4 + ) + + find_path(GTKMM_CONFIG_INCLUDE_DIR + NAMES + gtkmmconfig.h + PATHS + ${_GDKMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + /usr/lib/gtkmm-2.4/include + /usr/lib64/gtkmm-2.4/include ) - find_library(${_SUBLIB}_LIBRARY + find_library(GTKMM-2.4_LIBRARY NAMES - ${_SUBLIB} + gtkmm-2.4 PATHS - ${_${_SUBLIB}_LIBDIR} + ${_GTKMM_LIBDIR} /usr/lib /usr/local/lib /opt/local/lib /sw/lib ) - if (${_SUBLIB}_LIBRARY) - set(${_SUBLIB}_FOUND TRUE) - endif (${_SUBLIB}_LIBRARY) +find_package(ATKMM REQUIRED) +find_package(GDKMM REQUIRED) +find_package(GLIBMM REQUIRED) +find_package(PANGOMM REQUIRED) +find_package(CAIROMM REQUIRED) + + if (GTKMM-2.4_LIBRARY) + set(GTKMM-2.4_FOUND TRUE) + endif (GTKMM-2.4_LIBRARY) - LIST(APPEND GTKMM_INCLUDE_DIRS - ${${_SUBLIB}_INCLUDE_DIR} + set(GTKMM_INCLUDE_DIRS + ${GTKMM_INCLUDE_DIR} + ${GTKMM_CONFIG_INCLUDE_DIR} + ${ATKMM_INCLUDE_DIR} + ${ATKMM_CONFIG_INCLUDE_DIR} + ${GDKMM_INCLUDE_DIR} + ${GDKMM_CONFIG_INCLUDE_DIR} + ${GLIBMM_INCLUDE_DIR} + ${GLIBMM_CONFIG_INCLUDE_DIR} + ${PANGOMM_INCLUDE_DIR} + ${PANGOMM_CONFIG_INCLUDE_DIR} + ${CAIROMM_INCLUDE_DIR} + ${CAIROMM_CONFIG_INCLUDE_DIR} ) - if (${_SUBLIB}_FOUND) - LIST(APPEND GTKMM_LIBRARIES - ${${_SUBLIB}_LIBRARIES} - ${${_SUBLIB}_LIBRARY} + if (GTKMM-2.4_FOUND) + set(GTKMM_LIBRARIES + ${GTKMM_LIBRARIES} + ${GTKMM-2.4_LIBRARY} + ${ATKMM_LIBRARIES} + ${GDKMM_LIBRARIES} + ${GLIBKMM_LIBRARIES} + ${PANGOMM_LIBRARIES} + ${CAIROMM_LIBRARIES} ) - endif (${_SUBLIB}_FOUND) -ENDFOREACH(_SUBLIB) + endif (GTKMM-2.4_FOUND) if (GTKMM_INCLUDE_DIRS AND GTKMM_LIBRARIES) set(GTKMM_FOUND TRUE) endif (GTKMM_INCLUDE_DIRS AND GTKMM_LIBRARIES) if (GTKMM_FOUND) - if (NOT GtkMM_FIND_QUIETLY) - message(STATUS "Found GtkMM: ${GTKMM_LIBRARIES}") - endif (NOT GtkMM_FIND_QUIETLY) + if (NOT GTKMM_FIND_QUIETLY) + message(STATUS "Found GTKMM: ${GTKMM_LIBRARIES}") + endif (NOT GTKMM_FIND_QUIETLY) else (GTKMM_FOUND) - if (GtkMM_FIND_REQUIRED) - message(FATAL_ERROR "Could not find GtkMM") - endif (GtkMM_FIND_REQUIRED) + if (GTKMM_FIND_REQUIRED) + message(FATAL_ERROR "Could not find GTKMM") + endif (GTKMM_FIND_REQUIRED) endif (GTKMM_FOUND) # show the GTKMM_INCLUDE_DIRS and GTKMM_LIBRARIES variables only in the advanced view diff --git a/CMakeScripts/FindPANGOMM.cmake b/CMakeScripts/FindPANGOMM.cmake new file mode 100644 index 000000000..953c49ef0 --- /dev/null +++ b/CMakeScripts/FindPANGOMM.cmake @@ -0,0 +1,89 @@ +# - Try to find PANGOMM +# Once done this will define +# +# PANGOMM_FOUND - system has PANGOMM +# PANGOMM_INCLUDE_DIRS - the PANGOMM include directory +# PANGOMM_LIBRARIES - Link these to use PANGOMM +# PANGOMM_DEFINITIONS - Compiler switches required for using PANGOMM +# +# Copyright (c) 2008 Joshua L. Blocher +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + + +if (PANGOMM_LIBRARIES AND PANGOMM_INCLUDE_DIRS) + # in cache already + set(PANGOMM_FOUND TRUE) +else (PANGOMM_LIBRARIES AND PANGOMM_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(pangomm-1.4 _PANGOMM_INCLUDEDIR _PANGOMM_LIBDIR _PANGOMM_LDFLAGS _PANGOMM_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_PANGOMM pangomm-1.4) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_path(PANGOMM_INCLUDE_DIR + NAMES + pangomm.h + PATHS + ${_PANGOMM_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + PATH_SUFFIXES + pangomm-1.4 + ) + + find_library(PANGOMM-1.4_LIBRARY + NAMES + pangomm-1.4 + PATHS + ${_PANGOMM_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (PANGOMM-1.4_LIBRARY) + set(PANGOMM-1.4_FOUND TRUE) + endif (PANGOMM-1.4_LIBRARY) + + set(PANGOMM_INCLUDE_DIRS + ${PANGOMM_INCLUDE_DIR} + ) + + if (PANGOMM-1.4_FOUND) + set(PANGOMM_LIBRARIES + ${PANGOMM_LIBRARIES} + ${PANGOMM-1.4_LIBRARY} + ) + endif (PANGOMM-1.4_FOUND) + + if (PANGOMM_INCLUDE_DIRS AND PANGOMM_LIBRARIES) + set(PANGOMM_FOUND TRUE) + endif (PANGOMM_INCLUDE_DIRS AND PANGOMM_LIBRARIES) + + if (PANGOMM_FOUND) + if (NOT PANGOMM_FIND_QUIETLY) + message(STATUS "Found PANGOMM: ${PANGOMM_LIBRARIES}") + endif (NOT PANGOMM_FIND_QUIETLY) + else (PANGOMM_FOUND) + if (PANGOMM_FIND_REQUIRED) + message(FATAL_ERROR "Could not find PANGOMM") + endif (PANGOMM_FIND_REQUIRED) + endif (PANGOMM_FOUND) + + # show the PANGOMM_INCLUDE_DIRS and PANGOMM_LIBRARIES variables only in the advanced view + mark_as_advanced(PANGOMM_INCLUDE_DIRS PANGOMM_LIBRARIES) + +endif (PANGOMM_LIBRARIES AND PANGOMM_INCLUDE_DIRS) + diff --git a/CMakeScripts/FindSigC++.cmake b/CMakeScripts/FindSigC++.cmake index 0f3b70db6..62681cf7f 100644 --- a/CMakeScripts/FindSigC++.cmake +++ b/CMakeScripts/FindSigC++.cmake @@ -6,7 +6,7 @@ # SIGC++_LIBRARIES - Link these to use SIGC++ # SIGC++_DEFINITIONS - Compiler switches required for using SIGC++ # -# Copyright (c) 2008 Joshua L. Blocher +# Copyright (c) 2008 Andreas Schneider # # Redistribution and use is allowed according to the terms of the New # BSD license. @@ -29,28 +29,32 @@ else (SIGC++_LIBRARIES AND SIGC++_INCLUDE_DIRS) pkg_check_modules(_SIGC++ sigc++-2.0) endif (PKG_CONFIG_FOUND) endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) -SET(_DIR_LIST + + find_path(SIGC++_INCLUDE_DIR + NAMES + sigc++/sigc++.h + PATHS ${_SIGC++_INCLUDEDIR} /usr/include /usr/local/include /opt/local/include /sw/include - $ENV{DEVLIBS_PATH}//include// - ) -FOREACH(_TEST_PATH ${_DIR_LIST}) - find_path(${_TEST_PATH}_INCLUDE_DIR - NAMES - sigc++/sigc++.h - sigc++config.h - PATHS - ${_TEST_PATH} PATH_SUFFIXES sigc++-2.0 ) - LIST(APPEND SIGC++_INCLUDE_DIRS - ${${_TEST_PATH}_INCLUDE_DIR} + + find_path(SIGC++_CONFIG_INCLUDE_DIR + NAMES + sigc++config.h + PATHS + ${_SIGC++_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + /usr/lib/sigc++-2.0/include + /usr/lib64/sigc++-2.0/include ) -ENDFOREACH(_TEST_PATH) find_library(SIGC-2.0_LIBRARY NAMES @@ -67,6 +71,11 @@ ENDFOREACH(_TEST_PATH) set(SIGC-2.0_FOUND TRUE) endif (SIGC-2.0_LIBRARY) + set(SIGC++_INCLUDE_DIRS + ${SIGC++_INCLUDE_DIR} + ${SIGC++_CONFIG_INCLUDE_DIR} + ) + if (SIGC-2.0_FOUND) set(SIGC++_LIBRARIES ${SIGC++_LIBRARIES} @@ -93,3 +102,4 @@ ENDFOREACH(_TEST_PATH) endif (SIGC++_LIBRARIES AND SIGC++_INCLUDE_DIRS) + diff --git a/src/live_effects/CMakeLists.txt b/src/live_effects/CMakeLists.txt index 36c37e120..8e8bfb7c6 100644 --- a/src/live_effects/CMakeLists.txt +++ b/src/live_effects/CMakeLists.txt @@ -21,6 +21,8 @@ lpe-knot.cpp lpe-knot.h lpe-lattice.h lpe-lattice.cpp +lpe-mirror_reflect.cpp +lpe-mirror_reflect.h lpeobject.cpp lpeobject.h lpeobject-reference.cpp -- 2.30.2