Skip to content

Commit 4510224

Browse files
committed
Use proper image dependency targets now that CMake >= 3.16
This removes some include_directories that can create confusion on OSX. BUG: 470992419 Change-Id: I213c8b0482be6bce845852773557f92821e897d3
1 parent d52b9ee commit 4510224

2 files changed

Lines changed: 8 additions & 54 deletions

File tree

CMakeLists.txt

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ endif()
102102
set(SHARPYUV_DEP_LIBRARIES)
103103
set(SHARPYUV_DEP_INCLUDE_DIRS)
104104
set(WEBP_DEP_LIBRARIES)
105-
set(WEBP_DEP_INCLUDE_DIRS)
106105

107106
if(NOT CMAKE_BUILD_TYPE)
108107
set(CMAKE_BUILD_TYPE "Release"
@@ -211,7 +210,7 @@ if(ANDROID)
211210
set(cpufeatures_include_dir ${ANDROID_NDK}/sources/android/cpufeatures)
212211
set(SHARPYUV_DEP_INCLUDE_DIRS ${SHARPYUV_DEP_INCLUDE_DIRS}
213212
${cpufeatures_include_dir})
214-
set(WEBP_DEP_INCLUDE_DIRS ${WEBP_DEP_INCLUDE_DIRS} ${cpufeatures_include_dir})
213+
include_directories(AFTER SYSTEM ${cpufeatures_include_dir})
215214
add_definitions(-DHAVE_CPU_FEATURES_H=1)
216215
set(HAVE_CPU_FEATURES_H 1)
217216
else()
@@ -379,7 +378,6 @@ if(MSVC)
379378
else()
380379
add_compile_options(-Wall)
381380
endif()
382-
include_directories(${WEBP_DEP_INCLUDE_DIRS})
383381
add_library(webpdspdecode OBJECT ${WEBP_DSP_COMMON_SRCS} ${WEBP_DSP_DEC_SRCS})
384382
target_include_directories(webpdspdecode PUBLIC ${CMAKE_CURRENT_BINARY_DIR}
385383
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
@@ -498,12 +496,9 @@ if(NOT WEBP_BUILD_LIBWEBPMUX)
498496
set(WEBP_BUILD_WEBPMUX OFF)
499497
endif()
500498

501-
if(WEBP_BUILD_GIF2WEBP AND NOT GIF_FOUND)
502-
set(WEBP_BUILD_GIF2WEBP OFF)
503-
endif()
504-
505-
if(WEBP_BUILD_ANIM_UTILS AND NOT GIF_FOUND)
499+
if(NOT GIF_FOUND)
506500
set(WEBP_BUILD_ANIM_UTILS OFF)
501+
set(WEBP_BUILD_GIF2WEBP OFF)
507502
endif()
508503

509504
# Build the executables if asked for.
@@ -542,14 +537,12 @@ if(WEBP_BUILD_ANIM_UTILS
542537
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEENC_SRCS"
543538
"imageenc_[^ ]*")
544539
add_library(imageenc STATIC ${IMAGEENC_SRCS})
545-
target_link_libraries(imageenc imageioutil webp)
540+
target_link_libraries(imageenc imageioutil webp ${WEBP_DEP_IMG_LIBRARIES})
546541

547542
set_property(
548543
TARGET exampleutil imageioutil imagedec imageenc
549544
PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/src
550545
${CMAKE_CURRENT_BINARY_DIR}/src)
551-
target_include_directories(imagedec PRIVATE ${WEBP_DEP_IMG_INCLUDE_DIRS})
552-
target_include_directories(imageenc PRIVATE ${WEBP_DEP_IMG_INCLUDE_DIRS})
553546
endif()
554547

555548
if(WEBP_BUILD_DWEBP)
@@ -589,19 +582,17 @@ endif()
589582

590583
if(WEBP_BUILD_GIF2WEBP)
591584
# gif2webp
592-
include_directories(${WEBP_DEP_GIF_INCLUDE_DIRS})
593585
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "GIF2WEBP_SRCS"
594586
"gif2webp")
595587
add_executable(gif2webp ${GIF2WEBP_SRCS})
596588
target_link_libraries(gif2webp exampleutil imageioutil webp libwebpmux
597-
${WEBP_DEP_GIF_LIBRARIES})
589+
GIF::GIF)
598590
target_include_directories(gif2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
599591
install(TARGETS gif2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
600592
endif()
601593

602594
if(WEBP_BUILD_IMG2WEBP)
603595
# img2webp
604-
include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS})
605596
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "IMG2WEBP_SRCS"
606597
"img2webp")
607598
add_executable(img2webp ${IMG2WEBP_SRCS})
@@ -615,7 +606,6 @@ if(WEBP_BUILD_VWEBP)
615606
# vwebp
616607
find_package(GLUT)
617608
if(GLUT_FOUND)
618-
include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS})
619609
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "VWEBP_SRCS" "vwebp")
620610
add_executable(vwebp ${VWEBP_SRCS})
621611
target_link_libraries(
@@ -641,7 +631,6 @@ endif()
641631

642632
if(WEBP_BUILD_WEBPINFO)
643633
# webpinfo
644-
include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS})
645634
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "WEBPINFO_SRCS"
646635
"webpinfo")
647636
add_executable(webpinfo ${WEBPINFO_SRCS})
@@ -764,7 +753,6 @@ endif()
764753

765754
if(WEBP_BUILD_ANIM_UTILS)
766755
# anim_diff
767-
include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS} ${WEBP_DEP_GIF_INCLUDE_DIRS})
768756
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "ANIM_DIFF_SRCS"
769757
"anim_diff")
770758
add_executable(anim_diff ${ANIM_DIFF_SRCS})
@@ -776,11 +764,10 @@ if(WEBP_BUILD_ANIM_UTILS)
776764
imageioutil
777765
webp
778766
webpdemux
779-
${WEBP_DEP_GIF_LIBRARIES})
767+
GIF::GIF)
780768
target_include_directories(anim_diff PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
781769

782770
# anim_dump
783-
include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS} ${WEBP_DEP_GIF_INCLUDE_DIRS})
784771
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "ANIM_DUMP_SRCS"
785772
"anim_dump")
786773
add_executable(anim_dump ${ANIM_DUMP_SRCS})
@@ -792,7 +779,7 @@ if(WEBP_BUILD_ANIM_UTILS)
792779
imageioutil
793780
webp
794781
webpdemux
795-
${WEBP_DEP_GIF_LIBRARIES})
782+
GIF::GIF)
796783
target_include_directories(anim_dump PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
797784
endif()
798785

cmake/deps.cmake

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ endif()
7373

7474
# Find the standard image libraries.
7575
set(WEBP_DEP_IMG_LIBRARIES)
76-
set(WEBP_DEP_IMG_INCLUDE_DIRS)
7776
if(WEBP_FIND_IMG_LIBS)
7877
foreach(I_LIB PNG JPEG TIFF)
7978
# Disable tiff when compiling in static mode as it is failing on Ubuntu.
@@ -84,46 +83,14 @@ if(WEBP_FIND_IMG_LIBS)
8483
find_package(${I_LIB})
8584
set(WEBP_HAVE_${I_LIB} ${${I_LIB}_FOUND})
8685
if(${I_LIB}_FOUND)
87-
list(APPEND WEBP_DEP_IMG_LIBRARIES ${${I_LIB}_LIBRARIES})
88-
list(APPEND WEBP_DEP_IMG_INCLUDE_DIRS ${${I_LIB}_INCLUDE_DIR}
89-
${${I_LIB}_INCLUDE_DIRS})
86+
list(APPEND WEBP_DEP_IMG_LIBRARIES ${I_LIB}::${I_LIB})
9087
endif()
9188
endforeach()
92-
if(WEBP_DEP_IMG_INCLUDE_DIRS)
93-
list(REMOVE_DUPLICATES WEBP_DEP_IMG_INCLUDE_DIRS)
94-
endif()
9589

9690
# GIF detection, gifdec isn't part of the imageio lib.
9791
include(CMakePushCheckState)
98-
set(WEBP_DEP_GIF_LIBRARIES)
99-
set(WEBP_DEP_GIF_INCLUDE_DIRS)
10092
find_package(GIF)
10193
set(WEBP_HAVE_GIF ${GIF_FOUND})
102-
if(GIF_FOUND)
103-
# GIF find_package only locates the header and library, it doesn't fail
104-
# compile tests when detecting the version, but falls back to 3 (as of at
105-
# least cmake 3.7.2). Make sure the library links to avoid incorrect
106-
# detection when cross compiling.
107-
cmake_push_check_state()
108-
set(CMAKE_REQUIRED_LIBRARIES ${GIF_LIBRARIES})
109-
set(CMAKE_REQUIRED_INCLUDES ${GIF_INCLUDE_DIR})
110-
check_c_source_compiles(
111-
"
112-
#include <gif_lib.h>
113-
int main(void) {
114-
(void)DGifOpenFileHandle;
115-
return 0;
116-
}
117-
"
118-
GIF_COMPILES)
119-
cmake_pop_check_state()
120-
if(GIF_COMPILES)
121-
list(APPEND WEBP_DEP_GIF_LIBRARIES ${GIF_LIBRARIES})
122-
list(APPEND WEBP_DEP_GIF_INCLUDE_DIRS ${GIF_INCLUDE_DIR})
123-
else()
124-
unset(GIF_FOUND)
125-
endif()
126-
endif()
12794
endif()
12895

12996
# Check for specific headers.

0 commit comments

Comments
 (0)