diff --git a/CMakeLists.txt b/CMakeLists.txt index bd1bebb..4ce801d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -214,6 +214,9 @@ endfunction() if(MSVC) # avoid security warnings for e.g., fopen() used in the examples. add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(BUILD_SHARED_LIBS) + add_definitions("-DWEBP_EXTERN=__declspec(dllexport)" "-DWEBP_DLL") + endif() else() add_definitions(-Wall) endif() @@ -482,7 +485,7 @@ if(WEBP_BUILD_LIBWEBPMUX) "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\ ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\ ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h;") - set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME webpmux) + set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME $<$:lib>webpmux) list(APPEND INSTALLED_LIBRARIES libwebpmux) configure_pkg_config("src/mux/libwebpmux.pc") endif() @@ -586,8 +589,12 @@ if(WEBP_BUILD_EXTRAS) # webp_quality add_executable(webp_quality ${WEBP_QUALITY_SRCS} ${WEBP_EXTRAS_SRCS}) target_link_libraries(webp_quality exampleutil imagedec) + if(BUILD_SHARED_LIBS) + target_link_libraries(webp_quality webpdspdecode) + endif() target_include_directories(webp_quality PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}) # vwebp_sdl @@ -620,7 +627,7 @@ if(WEBP_BUILD_WEBP_JS) -s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \ -s EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'") set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp) - target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL) + target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL WEBP_HAVE_JUST_SDL_H) endif() # WASM version