mirror of
				https://github.com/webmproject/libwebp.git
				synced 2025-10-30 18:05:36 +01:00 
			
		
		
		
	cmake: fix gif lib detection when cross compiling
GIF find_package only locates the header and library, it doesn't fail compile tests when detecting the version, but falls back to 3 (as of at least cmake 3.7.2). Make sure the library links to avoid incorrect detection when cross compiling. Change-Id: I0224180bbdf800ab261a9333236730b23c006e69
This commit is contained in:
		| @@ -75,13 +75,34 @@ foreach(I_LIB PNG JPEG TIFF) | |||||||
| endforeach() | endforeach() | ||||||
|  |  | ||||||
| # GIF detection, gifdec isn't part of the imageio lib. | # GIF detection, gifdec isn't part of the imageio lib. | ||||||
|  | include(CMakePushCheckState) | ||||||
| set(WEBP_DEP_GIF_LIBRARIES) | set(WEBP_DEP_GIF_LIBRARIES) | ||||||
| set(WEBP_DEP_GIF_INCLUDE_DIRS) | set(WEBP_DEP_GIF_INCLUDE_DIRS) | ||||||
| find_package(GIF) | find_package(GIF) | ||||||
| set(WEBP_HAVE_GIF ${GIF_FOUND}) | set(WEBP_HAVE_GIF ${GIF_FOUND}) | ||||||
| if(GIF_FOUND) | if(GIF_FOUND) | ||||||
|   list(APPEND WEBP_DEP_GIF_LIBRARIES ${GIF_LIBRARIES}) |   # GIF find_package only locates the header and library, it doesn't fail | ||||||
|   list(APPEND WEBP_DEP_GIF_INCLUDE_DIRS ${GIF_INCLUDE_DIR}) |   # compile tests when detecting the version, but falls back to 3 (as of at | ||||||
|  |   # least cmake 3.7.2). Make sure the library links to avoid incorrect | ||||||
|  |   # detection when cross compiling. | ||||||
|  |   cmake_push_check_state() | ||||||
|  |   set(CMAKE_REQUIRED_LIBRARIES ${GIF_LIBRARIES}) | ||||||
|  |   set(CMAKE_REQUIRED_INCLUDES ${GIF_INCLUDE_DIR}) | ||||||
|  |   check_c_source_compiles(" | ||||||
|  |       #include <gif_lib.h> | ||||||
|  |       int main(void) { | ||||||
|  |         (void)DGifOpenFileHandle; | ||||||
|  |         return 0; | ||||||
|  |       } | ||||||
|  |       " GIF_COMPILES | ||||||
|  |   ) | ||||||
|  |   cmake_pop_check_state() | ||||||
|  |   if(GIF_COMPILES) | ||||||
|  |     list(APPEND WEBP_DEP_GIF_LIBRARIES ${GIF_LIBRARIES}) | ||||||
|  |     list(APPEND WEBP_DEP_GIF_INCLUDE_DIRS ${GIF_INCLUDE_DIR}) | ||||||
|  |   else() | ||||||
|  |     unset(GIF_FOUND) | ||||||
|  |   endif() | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| ## Check for specific headers. | ## Check for specific headers. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user