소스 검색

CMake: Update FindLibSquish.cmake, support looking in thirdparty dir

rdb 3 년 전
부모
커밋
e716dba8d4
2개의 변경된 파일54개의 추가작업 그리고 34개의 파일을 삭제
  1. 53 33
      cmake/modules/FindLibSquish.cmake
  2. 1 1
      dtool/Package.cmake

+ 53 - 33
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)

+ 1 - 1
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."