From e716dba8d42ef20b491ab95d6a2a1601c756138a Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 9 Mar 2022 14:07:05 +0100 Subject: [PATCH] CMake: Update FindLibSquish.cmake, support looking in thirdparty dir --- cmake/modules/FindLibSquish.cmake | 86 +++++++++++++++++++------------ dtool/Package.cmake | 2 +- 2 files changed, 54 insertions(+), 34 deletions(-) diff --git a/cmake/modules/FindLibSquish.cmake b/cmake/modules/FindLibSquish.cmake index 3399d81ae7..2ff949abd0 100644 --- a/cmake/modules/FindLibSquish.cmake +++ b/cmake/modules/FindLibSquish.cmake @@ -14,42 +14,62 @@ # LIBSQUISH_DEBUG_LIBRARY - the filepath of the libsquish debug library # -# Find the libsquish include files -find_path(LIBSQUISH_INCLUDE_DIR - NAMES "squish.h" - PATHS "/usr/include" - "/usr/local/include" - "/sw/include" - "/opt/include" - "/opt/local/include" - "/opt/csw/include" - PATH_SUFFIXES "" "cppunit" -) +if(LibSquish_ROOT) + # Search exclusively under the root + find_path(LIBSQUISH_INCLUDE_DIR + NAMES "squish.h" + PATHS ${LibSquish_ROOT} + PATH_SUFFIXES "include" + ) -# Find the libsquish library built for release -find_library(LIBSQUISH_RELEASE_LIBRARY - NAMES "squish" "libsquish" - PATHS "/usr" - "/usr/local" - "/usr/freeware" - "/sw" - "/opt" - "/opt/csw" - PATH_SUFFIXES "lib" "lib32" "lib64" -) + find_library(LIBSQUISH_RELEASE_LIBRARY + NAMES "squish" "libsquish" + PATHS ${LibSquish_ROOT} + PATH_SUFFIXES "lib" + ) -# Find the libsquish library built for debug -find_library(LIBSQUISH_DEBUG_LIBRARY - NAMES "squishd" "libsquishd" - PATHS "/usr" - "/usr/local" - "/usr/freeware" - "/sw" - "/opt" - "/opt/csw" - PATH_SUFFIXES "lib" "lib32" "lib64" -) + find_library(LIBSQUISH_DEBUG_LIBRARY + NAMES "squishd" "libsquishd" + PATHS ${LibSquish_ROOT} + PATH_SUFFIXES "lib" + ) +else() + # Find the libsquish include files + find_path(LIBSQUISH_INCLUDE_DIR + NAMES "squish.h" + PATHS "/usr/include" + "/usr/local/include" + "/sw/include" + "/opt/include" + "/opt/local/include" + "/opt/csw/include" + PATH_SUFFIXES "" "cppunit" + ) + # Find the libsquish library built for release + find_library(LIBSQUISH_RELEASE_LIBRARY + NAMES "squish" "libsquish" + PATHS "/usr" + "/usr/local" + "/usr/freeware" + "/sw" + "/opt" + "/opt/csw" + PATH_SUFFIXES "lib" "lib32" "lib64" + ) + + # Find the libsquish library built for debug + find_library(LIBSQUISH_DEBUG_LIBRARY + NAMES "squishd" "libsquishd" + PATHS "/usr" + "/usr/local" + "/usr/freeware" + "/sw" + "/opt" + "/opt/csw" + PATH_SUFFIXES "lib" "lib32" "lib64" + ) +endif() mark_as_advanced(LIBSQUISH_INCLUDE_DIR) mark_as_advanced(LIBSQUISH_RELEASE_LIBRARY) diff --git a/dtool/Package.cmake b/dtool/Package.cmake index 02d5558956..f98283d8ee 100644 --- a/dtool/Package.cmake +++ b/dtool/Package.cmake @@ -397,7 +397,7 @@ package_option(OpenEXR "Enable support for loading .exr images.") package_status(OpenEXR "OpenEXR") # libsquish -find_package(LibSquish QUIET) +find_package(LibSquish QUIET MODULE) package_option(SQUISH "Enables support for automatic compression of DXT textures."