cmake: fix BUILD_SHARED_LIBS build on mac

add some missing dependencies and convert utility libraries to
static only libraries to avoid creating unnecessary shared object
libraries which may fail to link due to missing symbols.

Change-Id: Iaa91a3d97fa5af6ada4b2a851cc7fc2879d871da
This commit is contained in:
James Zern 2019-10-22 12:01:03 -07:00
parent 17850e74ce
commit 9f750f7a06

View File

@ -349,20 +349,21 @@ if(WEBP_BUILD_ANIM_UTILS
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "EXAMPLEUTIL_SRCS" parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "EXAMPLEUTIL_SRCS"
"example_util_[^ ]*") "example_util_[^ ]*")
list(APPEND EXAMPLEUTIL_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/examples/stopwatch.h) list(APPEND EXAMPLEUTIL_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/examples/stopwatch.h)
add_library(exampleutil ${EXAMPLEUTIL_SRCS}) add_library(exampleutil STATIC ${EXAMPLEUTIL_SRCS})
target_link_libraries(exampleutil imageioutil)
target_include_directories( target_include_directories(
exampleutil exampleutil
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>) PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>)
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEIOUTILS_SRCS" parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEIOUTILS_SRCS"
"imageio_util_[^ ]*") "imageio_util_[^ ]*")
add_library(imageioutil ${IMAGEIOUTILS_SRCS}) add_library(imageioutil STATIC ${IMAGEIOUTILS_SRCS})
target_link_libraries(imageioutil webp) target_link_libraries(imageioutil webp)
# Image-decoding utility library. # Image-decoding utility library.
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEDEC_SRCS" parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEDEC_SRCS"
"imagedec_[^ ]*") "imagedec_[^ ]*")
add_library(imagedec ${IMAGEDEC_SRCS}) add_library(imagedec STATIC ${IMAGEDEC_SRCS})
target_link_libraries(imagedec target_link_libraries(imagedec
imageioutil imageioutil
webpdemux webpdemux
@ -372,8 +373,8 @@ if(WEBP_BUILD_ANIM_UTILS
# Image-encoding utility library. # Image-encoding utility library.
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEENC_SRCS" parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEENC_SRCS"
"imageenc_[^ ]*") "imageenc_[^ ]*")
add_library(imageenc ${IMAGEENC_SRCS}) add_library(imageenc STATIC ${IMAGEENC_SRCS})
target_link_libraries(imageenc webp) target_link_libraries(imageenc imageioutil webp)
set_property(TARGET exampleutil set_property(TARGET exampleutil
imageioutil imageioutil