Browse Source

Modules: Replace coded PATHS with PATH_SUFFIXES

Some modules assume that `/usr` and `/usr/local` are the only
`CMAKE_PREFIX_PATH` entries and explicitly enumerate all paths instead
of using `PATH_SUFFIXES` and relying on the dynamic set of prefix paths.
This commit attempts to rectify that behavior.
Christian Pfeiffer 8 years ago
parent
commit
a62d50ec56

+ 1 - 2
Modules/FindCUDA.cmake

@@ -666,8 +666,7 @@ if(NOT CUDA_TOOLKIT_ROOT_DIR AND NOT CMAKE_CROSSCOMPILING)
   find_path(CUDA_TOOLKIT_ROOT_DIR
     NAMES nvcc nvcc.exe
     PATHS /opt/cuda/bin
-          /usr/local/bin
-          /usr/local/cuda/bin
+    PATH_SUFFIXES cuda/bin
     DOC "Toolkit location."
     )
 

+ 12 - 21
Modules/FindFLTK.cmake

@@ -114,12 +114,11 @@ if(NOT FLTK_DIR)
     # Look in places relative to the system executable search path.
     ${FLTK_DIR_SEARCH}
 
-    PATHS
-    # Look in standard UNIX install locations.
-    /usr/local/lib/fltk
-    /usr/lib/fltk
-    /usr/local/fltk
-    /usr/X11R6/include
+    PATH_SUFFIXES
+    fltk
+    fltk/include
+    lib/fltk
+    lib/fltk/include
 
     # Help the user find it if we cannot.
     DOC "The ${FLTK_DIR_STRING}"
@@ -216,14 +215,11 @@ endif()
       endif()
     endif()
 
-    set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
-      /usr/local/fltk
-      /usr/X11R6/include
-      ${_FLTK_POSSIBLE_INCLUDE_DIRS}
-      )
+    list(APPEND FLTK_INCLUDE_SEARCH_PATH ${_FLTK_POSSIBLE_INCLUDE_DIRS})
 
     find_path(FLTK_INCLUDE_DIR
         NAMES FL/Fl.h FL/Fl.H    # fltk 1.1.9 has Fl.H (#8376)
+        PATH_SUFFIXES fltk fltk/include
         PATHS ${FLTK_INCLUDE_SEARCH_PATH})
 
     #
@@ -237,21 +233,16 @@ endif()
       endif()
     endif()
 
-    set(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
-      /usr/local/fltk/lib
-      /usr/X11R6/lib
-      ${FLTK_INCLUDE_DIR}/lib
-      ${_FLTK_POSSIBLE_LIBRARY_DIR}
-      )
+    list(APPEND FLTK_LIBRARY_SEARCH_PATH ${FLTK_INCLUDE_DIR}/lib ${_FLTK_POSSIBLE_LIBRARY_DIR})
 
     find_library(FLTK_BASE_LIBRARY NAMES fltk fltkd
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH} PATH_SUFFIXES fltk fltk/lib)
     find_library(FLTK_GL_LIBRARY NAMES fltkgl fltkgld fltk_gl
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH} PATH_SUFFIXES fltk fltk/lib)
     find_library(FLTK_FORMS_LIBRARY NAMES fltkforms fltkformsd fltk_forms
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH} PATH_SUFFIXES fltk fltk/lib)
     find_library(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images
-      PATHS ${FLTK_LIBRARY_SEARCH_PATH})
+      PATHS ${FLTK_LIBRARY_SEARCH_PATH} PATH_SUFFIXES fltk fltk/lib)
 
     # Find the extra libraries needed for the fltk_images library.
     if(UNIX)

+ 10 - 19
Modules/FindFLTK2.cmake

@@ -80,11 +80,11 @@ if(NOT FLTK2_DIR)
     # Look in places relative to the system executable search path.
     ${FLTK2_DIR_SEARCH}
 
-    # Look in standard UNIX install locations.
-    /usr/local/lib/fltk2
-    /usr/lib/fltk2
-    /usr/local/fltk2
-    /usr/X11R6/include
+    PATH_SUFFIXES
+    fltk2
+    fltk2/include
+    lib/fltk2
+    lib/fltk2/include
 
     # Help the user find it if we cannot.
     DOC "The ${FLTK2_DIR_STRING}"
@@ -175,25 +175,16 @@ if(FLTK2_DIR)
       set(FLTK2_WRAP_UI 1)
     endif()
 
-    set(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
-      /usr/local/fltk2
-      /usr/X11R6/include
-      )
-
-    find_path(FLTK2_INCLUDE_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
+    find_path(FLTK2_INCLUDE_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH} PATH_SUFFIXES fltk2 fltk2/include)
 
-    set(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
-      /usr/local/fltk2/lib
-      /usr/X11R6/lib
-      ${FLTK2_INCLUDE_DIR}/lib
-      )
+    list(APPEND FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_INCLUDE_DIR}/lib)
 
     find_library(FLTK2_BASE_LIBRARY NAMES fltk2
-      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
+      PATHS ${FLTK2_LIBRARY_SEARCH_PATH} PATH_SUFFIXES fltk2 fltk2/lib)
     find_library(FLTK2_GL_LIBRARY NAMES fltk2_gl
-      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
+      PATHS ${FLTK2_LIBRARY_SEARCH_PATH} PATH_SUFFIXES fltk2 fltk2/lib)
     find_library(FLTK2_IMAGES_LIBRARY NAMES fltk2_images
-      PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
+      PATHS ${FLTK2_LIBRARY_SEARCH_PATH} PATH_SUFFIXES fltk2 fltk2/lib)
 
     # Find the extra libraries needed for the fltk_images library.
     if(UNIX)

+ 2 - 5
Modules/FindGTK.cmake

@@ -31,20 +31,17 @@ if(UNIX)
   #  - Atanas Georgiev <[email protected]>
 
   find_path( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
+    PATH_SUFFIXES glib/include lib/glib/include include/glib12
     PATHS
     /usr/openwin/share/include
-    /usr/local/include/glib12
-    /usr/lib/glib/include
-    /usr/local/lib/glib/include
     /opt/gnome/include
     /opt/gnome/lib/glib/include
   )
 
   find_path( GTK_glib_INCLUDE_PATH NAMES glib.h
-    PATH_SUFFIXES gtk-1.2 glib-1.2 glib12
+    PATH_SUFFIXES gtk-1.2 glib-1.2 glib12 glib/include lib/glib/include
     PATHS
     /usr/openwin/share/include
-    /usr/lib/glib/include
     /opt/gnome/include
   )
 

+ 1 - 2
Modules/FindKDE3.cmake

@@ -200,8 +200,7 @@ find_path(KDE3_INCLUDE_DIR kpassdlg.h
   PATHS
   /opt/kde3/include
   /opt/kde/include
-  /usr/include/kde
-  /usr/local/include/kde
+  PATH_SUFFIXES include/kde
   )
 
 #now the KDE library directory

+ 1 - 3
Modules/FindPNG.cmake

@@ -51,9 +51,7 @@ endif()
 find_package(ZLIB ${_FIND_ZLIB_ARG})
 
 if(ZLIB_FOUND)
-  find_path(PNG_PNG_INCLUDE_DIR png.h
-  /usr/local/include/libpng             # OpenBSD
-  )
+  find_path(PNG_PNG_INCLUDE_DIR png.h PATH_SUFFIXES include/libpng)
 
   list(APPEND PNG_NAMES png libpng)
   unset(PNG_NAMES_DEBUG)

+ 3 - 9
Modules/FindQt.cmake

@@ -105,13 +105,11 @@ find_file( QT4_QGLOBAL_H_FILE qglobal.h
   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/include/Qt"
   ${qt_headers}/Qt
   $ENV{QTDIR}/include/Qt
-  /usr/local/qt/include/Qt
-  /usr/local/include/Qt
   /usr/lib/qt/include/Qt
-  /usr/include/Qt
   /usr/share/qt4/include/Qt
   /usr/local/include/X11/qt4/Qt
-  C:/Progra~1/qt/include/Qt )
+  C:/Progra~1/qt/include/Qt
+  PATH_SUFFIXES qt/include/Qt include/Qt)
 
 if(QT4_QGLOBAL_H_FILE)
   set(QT4_INSTALLED TRUE)
@@ -125,14 +123,10 @@ find_file( QT3_QGLOBAL_H_FILE qglobal.h
   C:/Qt/3.3.3Educational/include
   $ENV{QTDIR}/include
   /usr/include/qt3/Qt
-  /usr/local/qt/include
-  /usr/local/include
-  /usr/lib/qt/include
-  /usr/include
   /usr/share/qt3/include
   /usr/local/include/X11/qt3
   C:/Progra~1/qt/include
-  /usr/include/qt3 )
+  PATH_SUFFIXES qt/include include/qt3)
 
 if(QT3_QGLOBAL_H_FILE)
   set(QT3_INSTALLED TRUE)

+ 6 - 29
Modules/FindQt3.cmake

@@ -61,14 +61,10 @@ find_path(QT_INCLUDE_DIR qt.h
   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
   $ENV{QTDIR}/include
   ${GLOB_PATHS}
-  /usr/local/qt/include
-  /usr/lib/qt/include
-  /usr/lib/qt3/include
-  /usr/include/qt
   /usr/share/qt3/include
   C:/Progra~1/qt/include
-  /usr/include/qt3
   /usr/local/include/X11/qt3
+  PATH_SUFFIXES lib/qt/include lib/qt3/include include/qt include/qt3 qt/include qt3/include
   )
 
 # if qglobal.h is not in the qt_include_dir then set
@@ -101,13 +97,10 @@ if (QT_MT_REQUIRED)
       "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
       ENV QTDIR
       ${GLOB_PATHS_LIB}
-      /usr/local/qt
-      /usr/lib/qt
-      /usr/lib/qt3
       /usr/share/qt3
       C:/Progra~1/qt
     PATH_SUFFIXES
-      lib
+      lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
     )
 
 else ()
@@ -122,13 +115,10 @@ else ()
       "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
       ENV QTDIR
       ${GLOB_PATHS_LIB}
-      /usr/local/qt
-      /usr/lib/qt
-      /usr/lib/qt3
       /usr/share/qt3
       C:/Progra~1/qt/lib
     PATH_SUFFIXES
-      lib
+      lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
     )
 endif ()
 
@@ -141,12 +131,10 @@ find_library(QT_QASSISTANTCLIENT_LIBRARY
     "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
     ENV QTDIR
     ${GLOB_PATHS_LIB}
-    /usr/local/qt
-    /usr/lib/qt3
     /usr/share/qt3
     C:/Progra~1/qt
   PATH_SUFFIXES
-    lib
+    lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
   )
 
 # Qt 3 should prefer QTDIR over the PATH
@@ -159,15 +147,10 @@ find_program(QT_MOC_EXECUTABLE
   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
   ${GLOB_PATHS_BIN}
-    /usr/local/lib/qt3
-    /usr/local/qt
-    /usr/lib/qt
-    /usr/lib/qt3
     /usr/share/qt3
     C:/Progra~1/qt
-    /usr/X11R6
   PATH_SUFFIXES
-    bin
+    lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
   )
 
 if(QT_MOC_EXECUTABLE)
@@ -184,14 +167,10 @@ find_program(QT_UIC_EXECUTABLE
   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
   ${GLOB_PATHS_BIN}
-    /usr/local/qt
-    /usr/lib/qt
-    /usr/lib/qt3
     /usr/share/qt3
     C:/Progra~1/qt
-    /usr/X11R6
   PATH_SUFFIXES
-    bin
+    lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
   )
 
 if(QT_UIC_EXECUTABLE)
@@ -208,8 +187,6 @@ if (WIN32)
     PATHS
       "$ENV{ProgramFiles}/qt"
       "C:/Program Files/qt"
-    PATH_SUFFIXES
-      lib
     DOC "This Library is only needed by and included with Qt3 on MSWindows. It should be NOTFOUND, undefined or IGNORE otherwise."
     )
 endif ()

+ 28 - 19
Modules/FindTCL.cmake

@@ -82,11 +82,16 @@ set(TCLTK_POSSIBLE_LIB_PATHS
   "${TK_LIBRARY_PATH}"
   "${TCL_TCLSH_PATH_PARENT}/lib"
   "${TK_WISH_PATH_PARENT}/lib"
-  /usr/local/lib/tcl/tcl8.5
-  /usr/local/lib/tcl/tk8.5
-  /usr/local/lib/tcl/tcl8.4
-  /usr/local/lib/tcl/tk8.4
-  )
+)
+
+set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
+  lib/tcl/tcl8.6
+  lib/tcl/tk8.6
+  lib/tcl/tcl8.5
+  lib/tcl/tk8.5
+  lib/tcl/tcl8.4
+  lib/tcl/tk8.4
+)
 
 if(WIN32)
   get_filename_component(
@@ -118,6 +123,7 @@ find_library(TCL_LIBRARY
   tcl82 tcl8.2
   tcl80 tcl8.0
   PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
   )
 
 find_library(TK_LIBRARY
@@ -131,6 +137,7 @@ find_library(TK_LIBRARY
   tk82 tk8.2
   tk80 tk8.0
   PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+  PATH_SUFFIXES ${TCLTK_POSSIBLE_LIB_PATH_SUFFIXES}
   )
 
 CMAKE_FIND_FRAMEWORKS(Tcl)
@@ -164,20 +171,20 @@ set(TCLTK_POSSIBLE_INCLUDE_PATHS
   ${TK_FRAMEWORK_INCLUDES}
   "${TCL_TCLSH_PATH_PARENT}/include"
   "${TK_WISH_PATH_PARENT}/include"
-  /usr/include/tcl${TK_LIBRARY_VERSION}
-  /usr/include/tcl${TCL_LIBRARY_VERSION}
-  /usr/include/tcl8.6
-  /usr/include/tcl8.5
-  /usr/include/tcl8.4
-  /usr/include/tcl8.3
-  /usr/include/tcl8.2
-  /usr/include/tcl8.0
-  /usr/local/include/tcl8.6
-  /usr/local/include/tk8.6
-  /usr/local/include/tcl8.5
-  /usr/local/include/tk8.5
-  /usr/local/include/tcl8.4
-  /usr/local/include/tk8.4
+  )
+
+set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
+  include/tcl${TK_LIBRARY_VERSION}
+  include/tcl${TCL_LIBRARY_VERSION}
+  include/tcl8.6
+  include/tk8.6
+  include/tcl8.5
+  include/tk8.5
+  include/tcl8.4
+  include/tk8.4
+  include/tcl8.3
+  include/tcl8.2
+  include/tcl8.0
   )
 
 if(WIN32)
@@ -198,11 +205,13 @@ endif()
 find_path(TCL_INCLUDE_PATH
   NAMES tcl.h
   HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+  PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
   )
 
 find_path(TK_INCLUDE_PATH
   NAMES tk.h
   HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+  PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
   )
 
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)