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.
This commit is contained in:
Christian Pfeiffer
2017-11-20 16:29:25 +01:00
parent fd56d6a8e6
commit a62d50ec56
9 changed files with 64 additions and 109 deletions

View File

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

View File

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

View File

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

View File

@@ -31,20 +31,17 @@ if(UNIX)
# - Atanas Georgiev <atanas@cs.columbia.edu> # - Atanas Georgiev <atanas@cs.columbia.edu>
find_path( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h find_path( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
PATH_SUFFIXES glib/include lib/glib/include include/glib12
PATHS PATHS
/usr/openwin/share/include /usr/openwin/share/include
/usr/local/include/glib12
/usr/lib/glib/include
/usr/local/lib/glib/include
/opt/gnome/include /opt/gnome/include
/opt/gnome/lib/glib/include /opt/gnome/lib/glib/include
) )
find_path( GTK_glib_INCLUDE_PATH NAMES glib.h 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 PATHS
/usr/openwin/share/include /usr/openwin/share/include
/usr/lib/glib/include
/opt/gnome/include /opt/gnome/include
) )

View File

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

View File

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

View File

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

View File

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

View File

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