diff options
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindGTK2.cmake | 53 | ||||
-rw-r--r-- | Modules/FindPostgreSQL.cmake | 1 | ||||
-rw-r--r-- | Modules/FortranCInterface.cmake | 6 | ||||
-rw-r--r-- | Modules/readme.txt | 3 |
4 files changed, 49 insertions, 14 deletions
diff --git a/Modules/FindGTK2.cmake b/Modules/FindGTK2.cmake index 49af0f2..517a9ac 100644 --- a/Modules/FindGTK2.cmake +++ b/Modules/FindGTK2.cmake @@ -54,7 +54,7 @@ #============================================================================= # Copyright 2009 Kitware, Inc. -# Copyright 2008-2009 Philip Lowman <philip@yhbt.com> +# Copyright 2008-2012 Philip Lowman <philip@yhbt.com> # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. @@ -66,10 +66,13 @@ # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) +# Version 1.4 (10/4/2012) (CMake 2.8.10) +# * 12596: Missing paths for FindGTK2 on NetBSD +# * 12049: Fixed detection of GTK include files in the lib folder on +# multiarch systems. # Version 1.3 (11/9/2010) (CMake 2.8.4) # * 11429: Add support for detecting GTK2 built with Visual Studio 10. # Thanks to Vincent Levesque for the patch. - # Version 1.2 (8/30/2010) (CMake 2.8.3) # * Merge patch for detecting gdk-pixbuf library (split off # from core GTK in 2.21). Thanks to Vincent Untz for the patch @@ -151,7 +154,7 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr) "_GTK2_FIND_INCLUDE_DIR( ${_var} ${_hdr} )") endif() - set(_relatives + set(_gtk_packages # If these ever change, things will break. ${GTK2_ADDITIONAL_SUFFIXES} glibmm-2.4 @@ -172,8 +175,15 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr) sigc++-2.0 ) - set(_suffixes include lib) - foreach(_d ${_relatives}) + # + # NOTE: The following suffixes cause searching for header files in both of + # these directories: + # /usr/include/<pkg> + # /usr/lib/<pkg>/include + # + + set(_suffixes) + foreach(_d ${_gtk_packages}) list(APPEND _suffixes ${_d}) list(APPEND _suffixes ${_d}/include) # for /usr/lib/gtk-2.0/include endforeach() @@ -183,18 +193,35 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr) "include suffixes = ${_suffixes}") endif() + if(CMAKE_LIBRARY_ARCHITECTURE) + set(_gtk2_arch_dir /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}) + if(GTK2_DEBUG) + message(STATUS "Adding ${_gtk2_arch_dir} to search path for multiarch support") + endif() + endif() find_path(${_var} ${_hdr} PATHS + ${_gtk2_arch_dir} /usr/local/lib64 + /usr/local/lib /usr/lib64 - /opt/gnome - /opt/openwin - /usr/openwin - /sw - /opt/local - ENV GTKMM_BASEPATH - [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path] - [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path] + /usr/lib + /opt/gnome/include + /opt/gnome/lib + /opt/openwin/include + /usr/openwin/lib + /sw/include + /sw/lib + /opt/local/include + /opt/local/lib + /usr/pkg/lib + /usr/pkg/include/glib + $ENV{GTKMM_BASEPATH}/include + $ENV{GTKMM_BASEPATH}/lib + [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/include + [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib + [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/include + [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib PATH_SUFFIXES ${_suffixes} ) diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake index 6a1d349..e3c898b 100644 --- a/Modules/FindPostgreSQL.cmake +++ b/Modules/FindPostgreSQL.cmake @@ -111,6 +111,7 @@ find_path(PostgreSQL_TYPE_INCLUDE_DIR # Look in other places. ${PostgreSQL_ROOT_DIRECTORIES} PATH_SUFFIXES + postgresql pgsql/server postgresql/server include/server diff --git a/Modules/FortranCInterface.cmake b/Modules/FortranCInterface.cmake index aafecb4..c59e1f8 100644 --- a/Modules/FortranCInterface.cmake +++ b/Modules/FortranCInterface.cmake @@ -61,7 +61,7 @@ # If the check fails and QUIET is not given the function terminates # with a FATAL_ERROR message describing the problem. The purpose of # this check is to stop a build early for incompatible compiler -# combinations. +# combinations. The test is built in the Release configuration. # # FortranCInterface is aware of possible GLOBAL and MODULE manglings # for many Fortran compilers, but it also provides an interface to @@ -250,6 +250,7 @@ function(FortranCInterface_VERIFY) message(STATUS "${_desc}") # Build a sample project which reports symbols. + set(CMAKE_TRY_COMPILE_CONFIGURATION Release) try_compile(FortranCInterface_VERIFY_${lang}_COMPILED ${FortranCInterface_BINARY_DIR}/Verify${lang} ${FortranCInterface_SOURCE_DIR}/Verify @@ -259,6 +260,9 @@ function(FortranCInterface_VERIFY) "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}" "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}" "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}" + "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}" + "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}" + "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}" OUTPUT_VARIABLE _output) file(WRITE "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" "${_output}") diff --git a/Modules/readme.txt b/Modules/readme.txt index 4818031..9dc1c6a 100644 --- a/Modules/readme.txt +++ b/Modules/readme.txt @@ -127,6 +127,9 @@ If neither the QUIET nor REQUIRED options are given then the FindXXX.cmake module should look for the package and complain without error if the module is not found. +FIND_PACKAGE() will set the variable CMAKE_FIND_PACKAGE_NAME to +contain the actual name of the package. + A package can provide sub-components. Those components can be listed after the COMPONENTS (or REQUIRED) or OPTIONAL_COMPONENTS keywords. The set of all listed components will be |