From 27371b863a0acc8b8175a02be5f7c1d29af27861 Mon Sep 17 00:00:00 2001 From: Dom Chen Date: Thu, 17 Feb 2022 11:09:14 +0800 Subject: [PATCH] Fix the CMakeLists.txt of tgfx. (#118) --- .idea/misc.xml | 1 + CMakeLists.txt | 232 ++++++++---------------------- DEPS | 2 +- tgfx/CMakeLists.txt | 342 +++++++++++++++++++++++++++----------------- vendor.json | 6 - 5 files changed, 274 insertions(+), 309 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index fc71b0b47d..e3ab430cc3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,6 +6,7 @@ + diff --git a/CMakeLists.txt b/CMakeLists.txt index d4205e4d07..1cfad84586 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,6 +54,11 @@ elseif (MACOS) set(PAG_BUILD_TESTS ON CACHE BOOL "Build libpag tests" FORCE) endif () +message("PAG_USE_LIBAVC: ${PAG_USE_LIBAVC}") +message("PAG_USE_RTTR: ${PAG_USE_RTTR}") +message("PAG_BUILD_SHARED: ${PAG_BUILD_SHARED}") +message("PAG_BUILD_TESTS: ${PAG_BUILD_TESTS}") + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) cmake_policy(SET CMP0063 NEW) @@ -72,32 +77,23 @@ endif (MSVC) if (CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions(-DDEBUG) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer -g -O1") - # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=leak -g -O1") - # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -fPIE -g -O1") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=nullability -g -O1") endif () # collects pag include directories. -set(PAG_INCLUDES ./ include src tgfx/include tgfx/src) +set(PAG_INCLUDES ./ include src) # collects pag source files. file(GLOB_RECURSE PAG_FILES src/base/*.* src/codec/*.* - src/rendering/*.* - tgfx/src/core/utils/*.* - tgfx/src/gpu/gradients/*.*) + src/rendering/*.*) + if (NOT WEB) file(GLOB PAG_VIDEO_FILES src/video/*.*) list(APPEND PAG_FILES ${PAG_VIDEO_FILES}) endif () -file(GLOB PAG_COMMON_FILES - src/platform/*.* - tgfx/src/core/*.* - tgfx/src/core/images/*.* - tgfx/src/core/vectors/*.* - tgfx/src/gpu/*.* - tgfx/src/platform/*.*) + +file(GLOB PAG_COMMON_FILES src/platform/*.*) list(APPEND PAG_FILES ${PAG_COMMON_FILES}) if (PAG_USE_QT) @@ -110,93 +106,20 @@ else () set(USE_NATIVE_PLATFORM ON) endif () -if (PAG_USE_FREETYPE) - # Freetype needs libpng - set(PAG_USE_PNG_DECODE ON) -endif () - -if (PAG_USE_PNG_DECODE) - add_definitions(-DTGFX_USE_PNG_DECODE) - set(PAG_USE_PNG ON) -endif () - -if (PAG_USE_PNG_ENCODE) - add_definitions(-DTGFX_USE_PNG_ENCODE) - set(PAG_USE_PNG ON) -endif () - -if (PAG_USE_PNG) - set(PAG_USE_ZLIB ON) -endif () - -if (PAG_USE_JPEG_DECODE) - add_definitions(-DTGFX_USE_JPEG_DECODE) - set(PAG_USE_JPEG ON) -endif () - -if (PAG_USE_JPEG_ENCODE) - add_definitions(-DTGFX_USE_JPEG_ENCODE) - set(PAG_USE_JPEG ON) -endif () - -if (PAG_USE_WEBP_DECODE) - add_definitions(-DTGFX_USE_WEBP_DECODE) - set(PAG_USE_WEBP ON) -endif () - -if (PAG_USE_WEBP_ENCODE) - add_definitions(-DTGFX_USE_WEBP_ENCODE) - set(PAG_USE_WEBP ON) -endif () - -if (PAG_USE_OPENGL) - file(GLOB GFX_PLATFORM_FILES tgfx/src/gpu/opengl/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) -endif () - -if (PAG_USE_FREETYPE) - add_definitions(-DTGFX_USE_FREETYPE) - list(APPEND PAG_STATIC_VENDORS freetype) - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/core/vectors/freetype/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) - list(APPEND PAG_INCLUDES third_party/freetype/include) -elseif (WEB) - add_definitions(-DTGFX_BUILD_FOR_WEB) - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/core/vectors/web/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) -elseif (APPLE) - # Uses CoreGraphics instead. - add_definitions(-DTGFX_USE_CORE_GRAPHICS) - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/core/vectors/coregraphics/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) -endif () - -if (PAG_USE_JPEG) - list(APPEND PAG_STATIC_VENDORS libjpeg-turbo) - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/core/images/jpeg/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) - list(APPEND PAG_INCLUDES third_party/out/libjpeg-turbo/${INCLUDE_ENTRY}) -endif () - -if (PAG_USE_WEBP) - list(APPEND PAG_STATIC_VENDORS libwebp) - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/core/images/webp/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) - list(APPEND PAG_INCLUDES third_party/libwebp/src) -endif () - -if (PAG_USE_PNG) - list(APPEND PAG_STATIC_VENDORS libpng) - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/core/images/png/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) - list(APPEND PAG_INCLUDES third_party/out/libpng/${INCLUDE_ENTRY}) -endif () - -if (PAG_USE_ZLIB) - if (NOT ANDROID) - list(APPEND PAG_STATIC_VENDORS zlib) - endif () -endif () +set(TGFX_USE_OPENGL ${PAG_USE_OPENGL}) +set(TGFX_USE_QT ${PAG_USE_QT}) +set(TGFX_USE_SWIFTSHADER ${PAG_USE_SWIFTSHADER}) +set(TGFX_USE_FREETYPE ${PAG_USE_FREETYPE}) +set(TGFX_USE_PNG_DECODE ${PAG_USE_PNG_DECODE}) +set(TGFX_USE_PNG_ENCODE ${PAG_USE_PNG_ENCODE}) +set(TGFX_USE_JPEG_DECODE ${PAG_USE_JPEG_DECODE}) +set(TGFX_USE_JPEG_ENCODE ${PAG_USE_JPEG_ENCODE}) +set(TGFX_USE_WEBP_DECODE ${PAG_USE_WEBP_DECODE}) +set(TGFX_USE_WEBP_ENCODE ${PAG_USE_WEBP_ENCODE}) + +set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) +add_subdirectory(tgfx/ EXCLUDE_FROM_ALL) +list(APPEND PAG_INCLUDES tgfx/include tgfx/src) if (PAG_USE_LIBAVC) add_definitions(-DPAG_USE_LIBAVC) @@ -216,14 +139,10 @@ if (PAG_USE_QT) list(APPEND PAG_PLATFORM_SHARED_LIBS ${Qt5OpenGL_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Quick_LIBRARIES}) list(APPEND PAG_PLATFORM_INCLUDES ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Quick_INCLUDE_DIRS}) file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/qt/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/qt/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) elseif (PAG_USE_SWIFTSHADER) list(APPEND PAG_PLATFORM_SHARED_LIBS ${SWIFTSHADER_LIBRARIES}) list(APPEND PAG_PLATFORM_INCLUDES ${SWIFTSHADER_INCLUDE_DIRS}) file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/swiftshader/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/egl/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) endif () if (PAG_USE_RTTR) @@ -242,17 +161,10 @@ function(find_include_dirs out) set(${out} ${include_dirs} PARENT_SCOPE) endfunction() -list(APPEND PAG_STATIC_VENDORS pathkit) -list(APPEND PAG_INCLUDES third_party/pathkit) -list(APPEND PAG_STATIC_VENDORS skcms) -list(APPEND PAG_INCLUDES third_party/skcms) - if (WEB) add_definitions(-DPAG_BUILD_FOR_WEB) if (USE_NATIVE_PLATFORM) file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/web/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/webgl/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) endif () elseif (IOS) # finds all required platform libraries. @@ -279,22 +191,18 @@ elseif (IOS) find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) list(APPEND PAG_PLATFORM_SHARED_LIBS ${ICONV_LIBRARIES}) - if (PAG_USE_OPENGL) - find_library(OpenGLES_LIBS OpenGLES REQUIRED) - list(APPEND PAG_PLATFORM_SHARED_LIBS ${OpenGLES_LIBS}) - add_definitions(-DGL_SILENCE_DEPRECATION) - else () - # Uses Metal instead. - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/gpu/metal/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) - find_library(Metal_LIBS Metal REQUIRED) - list(APPEND PAG_PLATFORM_SHARED_LIBS ${Metal_LIBS}) - endif () - if (USE_NATIVE_PLATFORM) + if (PAG_USE_OPENGL) + find_library(OpenGLES_LIBS OpenGLES REQUIRED) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${OpenGLES_LIBS}) + add_definitions(-DGL_SILENCE_DEPRECATION) + elseif (USE_NATIVE_PLATFORM) + # Uses Metal instead. + find_library(Metal_LIBS Metal REQUIRED) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${Metal_LIBS}) + endif () + file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/ios/*.* src/platform/cocoa/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/eagl/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) find_include_dirs(IOS_PLATFORM_INCLUDES src/platform/ios/*.h src/platform/ios/private/*.h @@ -319,20 +227,18 @@ elseif (MACOS) find_library(CORE_MEDIA CoreMedia) list(APPEND PAG_PLATFORM_SHARED_LIBS ${CORE_MEDIA}) - if (PAG_USE_OPENGL) - find_library(OpenGL_LIBS OpenGL REQUIRED) - list(APPEND PAG_PLATFORM_SHARED_LIBS ${OpenGL_LIBS}) - add_definitions(-DGL_SILENCE_DEPRECATION) - else () - # Uses Metal instead. - file(GLOB_RECURSE GFX_PLATFORM_FILES tgfx/src/gpu/metal/*.*) - list(APPEND PAG_FILES ${GFX_PLATFORM_FILES}) - endif () - if (USE_NATIVE_PLATFORM) + if (PAG_USE_OPENGL) + find_library(OpenGL_LIBS OpenGL REQUIRED) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${OpenGL_LIBS}) + add_definitions(-DGL_SILENCE_DEPRECATION) + elseif (USE_NATIVE_PLATFORM) + # Uses Metal instead. + find_library(Metal_LIBS Metal REQUIRED) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${Metal_LIBS}) + endif () + file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/mac/*.* src/platform/cocoa/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/cgl/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) find_include_dirs(MAC_PLATFORM_INCLUDES src/platform/mac/*.h src/platform/mac/private/*.h @@ -341,31 +247,23 @@ elseif (MACOS) list(APPEND PAG_PLATFORM_INCLUDES ${MAC_PLATFORM_INCLUDES}) endif () elseif (ANDROID) - - # finds all required platform libraries. find_library(LOG_LIB log) list(APPEND PAG_PLATFORM_SHARED_LIBS ${LOG_LIB}) - find_library(GLESV2_LIB GLESv2) - list(APPEND PAG_PLATFORM_SHARED_LIBS ${GLESV2_LIB}) - find_library(EGL_LIB EGL) - list(APPEND PAG_PLATFORM_SHARED_LIBS ${EGL_LIB}) find_library(ANDROID_LIB android) list(APPEND PAG_PLATFORM_SHARED_LIBS ${ANDROID_LIB}) find_library(JNIGRAPHICS_LIB jnigraphics) list(APPEND PAG_PLATFORM_SHARED_LIBS ${JNIGRAPHICS_LIB}) - if (PAG_USE_ZLIB) - find_library(Z_LIB z) - list(APPEND PAG_PLATFORM_SHARED_LIBS ${Z_LIB}) - endif () # optimizes the output size set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gc-sections -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/android/libpag/export.def") add_compile_options(-ffunction-sections -fdata-sections -Os -fno-exceptions -fno-rtti) if (USE_NATIVE_PLATFORM) + find_library(GLESV2_LIB GLESv2) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${GLESV2_LIB}) + find_library(EGL_LIB EGL) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${EGL_LIB}) file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/android/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/egl/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) endif () elseif (WIN32) set(BUILD_USE_64BITS ON) @@ -373,12 +271,10 @@ elseif (WIN32) if (USE_NATIVE_PLATFORM) list(APPEND PAG_PLATFORM_INCLUDES vendor/angle/include) + file(GLOB ANGLE_LIBS vendor/angle/${PLATFORM}/${ARCH}/*${CMAKE_STATIC_LIBRARY_SUFFIX}) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${ANGLE_LIBS}) file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/win/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/egl/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) endif () - file(GLOB ANGLE_LIBS vendor/angle/${PLATFORM}/${ARCH}/*${CMAKE_STATIC_LIBRARY_SUFFIX}) - list(APPEND PAG_PLATFORM_STATIC_LIBS ${ANGLE_LIBS}) find_library(Bcrypt_LIB Bcrypt) list(APPEND PAG_PLATFORM_SHARED_LIBS ${Bcrypt_LIB}) find_library(ws2_32_LIB ws2_32) @@ -390,9 +286,11 @@ elseif (CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") list(APPEND PAG_PLATFORM_SHARED_LIBS dl) add_compile_options(-fPIC -pthread) if (USE_NATIVE_PLATFORM) + find_library(GLESV2_LIB GLESv2) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${GLESV2_LIB}) + find_library(EGL_LIB EGL) + list(APPEND PAG_PLATFORM_SHARED_LIBS ${EGL_LIB}) file(GLOB_RECURSE PAG_PLATFORM_FILES src/platform/linux/*.*) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/egl/*.*) - list(APPEND PAG_PLATFORM_FILES ${GL_PLATFORM_FILES}) endif () endif () @@ -400,35 +298,23 @@ add_vendor_target(PAG STATIC_VENDORS ${PAG_STATIC_VENDORS} SHARED_VENDORS ${PAG_ list(APPEND PAG_PLATFORM_STATIC_LIBS ${PAG_VENDOR_STATIC_LIBRARIES}) list(APPEND PAG_PLATFORM_SHARED_LIBS ${PAG_VENDOR_SHARED_LIBRARIES}) -if (WEB) - file(GLOB_RECURSE TGFX_PLATFORM_FILES tgfx/src/platform/web/*.*) -elseif (IOS OR MACOS) - file(GLOB_RECURSE TGFX_PLATFORM_FILES tgfx/src/platform/apple/*.*) -elseif (ANDROID) - file(GLOB_RECURSE TGFX_PLATFORM_FILES tgfx/src/platform/android/*.*) -else () - file(GLOB_RECURSE TGFX_PLATFORM_FILES tgfx/src/platform/mock/*.*) -endif () if (PAG_BUILD_SHARED) - add_library(pag SHARED ${PAG_VENDOR_TARGET} ${PAG_FILES} ${PAG_PLATFORM_FILES} ${TGFX_PLATFORM_FILES}) + add_library(pag SHARED ${PAG_VENDOR_TARGET} ${PAG_FILES} ${PAG_PLATFORM_FILES}) target_compile_definitions(pag PUBLIC PAG_DLL) target_include_directories(pag PUBLIC ${PAG_INCLUDES} ${PAG_PLATFORM_INCLUDES}) - target_link_libraries(pag ${PAG_PLATFORM_STATIC_LIBS} ${PAG_PLATFORM_SHARED_LIBS}) + target_link_libraries(pag ${PAG_PLATFORM_STATIC_LIBS} $ ${PAG_PLATFORM_SHARED_LIBS}) else () - add_library(pag STATIC ${PAG_VENDOR_TARGET} ${PAG_FILES} ${PAG_PLATFORM_FILES} ${TGFX_PLATFORM_FILES}) - merge_libraries_into(pag ${PAG_PLATFORM_STATIC_LIBS}) + add_library(pag STATIC ${PAG_VENDOR_TARGET} ${PAG_FILES} ${PAG_PLATFORM_FILES}) + merge_libraries_into(pag ${PAG_PLATFORM_STATIC_LIBS} $) target_include_directories(pag PUBLIC ${PAG_INCLUDES} ${PAG_PLATFORM_INCLUDES}) target_link_libraries(pag) endif () if (PAG_BUILD_TESTS) file(GLOB_RECURSE SWIFTSHADER_PLATFORM_FILES src/platform/swiftshader/*.*) - list(APPEND SWIFTSHADER_PLATFORM_FILES ${TGFX_PLATFORM_FILES}) - file(GLOB GL_PLATFORM_FILES tgfx/src/gpu/opengl/egl/*.*) - list(APPEND SWIFTSHADER_PLATFORM_FILES ${GL_PLATFORM_FILES}) add_library(pag-ss STATIC ${PAG_VENDOR_TARGET} ${PAG_FILES} ${SWIFTSHADER_PLATFORM_FILES}) - merge_libraries_into(pag-ss ${PAG_PLATFORM_STATIC_LIBS}) + merge_libraries_into(pag-ss ${PAG_PLATFORM_STATIC_LIBS} $) target_include_directories(pag-ss PUBLIC ${PAG_INCLUDES} ${SWIFTSHADER_INCLUDE_DIRS}) target_link_libraries(pag-ss) diff --git a/DEPS b/DEPS index 6e2313a2f8..d349769a3c 100644 --- a/DEPS +++ b/DEPS @@ -7,7 +7,7 @@ "common": [ { "url": "${PAG_GROUP}/vendor_tools.git", - "commit": "9b28c43638b358c05a0a9c26042390e86d1a213d", + "commit": "00907e189429712aafe57da2d937e369f1e9ea84", "dir": "vendor_tools" }, { diff --git a/tgfx/CMakeLists.txt b/tgfx/CMakeLists.txt index 0305a79587..277f6341de 100644 --- a/tgfx/CMakeLists.txt +++ b/tgfx/CMakeLists.txt @@ -5,13 +5,10 @@ project(TGFX) include(../vendor_tools/vendor.cmake) # Options for building tgfx -option(TGFX_USE_METAL "Allow use of Metal as GPU backend" OFF) -option(TGFX_USE_VULKAN "Allow use of Vulkan as GPU backend" OFF) -option(TGFX_USE_QT "Allow use of QT frameworks as GPU backend" OFF) - -if (IOS OR MACOS) - option(TGFX_USE_CORE_GRAPHICS "Allow use of CoreGraphics as vector backend" ON) -endif () +option(TGFX_USE_OPENGL "Allow use of OpenGL as GPU backend" ON) +option(TGFX_USE_QT "Allow build with QT frameworks." OFF) +option(TGFX_USE_SWIFTSHADER "Allow build with SwiftShader library" OFF) +option(TGFX_USE_FREETYPE "Allow use of embedded freetype library" ON) if (IOS OR WEB) option(TGFX_USE_WEBP_DECODE "Enable embedded WEBP decoding support" ON) @@ -24,6 +21,17 @@ elseif (NOT ANDROID) option(TGFX_USE_WEBP_ENCODE "Enable embedded WEBP encoding support" ON) endif () +message("TGFX_USE_OPENGL: ${TGFX_USE_OPENGL}") +message("TGFX_USE_QT: ${TGFX_USE_QT}") +message("TGFX_USE_SWIFTSHADER: ${TGFX_USE_QT}") +message("TGFX_USE_FREETYPE: ${TGFX_USE_FREETYPE}") +message("TGFX_USE_PNG_DECODE: ${TGFX_USE_PNG_DECODE}") +message("TGFX_USE_PNG_ENCODE: ${TGFX_USE_PNG_ENCODE}") +message("TGFX_USE_JPEG_DECODE: ${TGFX_USE_JPEG_DECODE}") +message("TGFX_USE_JPEG_ENCODE: ${TGFX_USE_JPEG_ENCODE}") +message("TGFX_USE_WEBP_DECODE: ${TGFX_USE_WEBP_DECODE}") +message("TGFX_USE_WEBP_ENCODE: ${TGFX_USE_WEBP_ENCODE}") + set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) cmake_policy(SET CMP0063 NEW) @@ -35,6 +43,7 @@ endif () if (MSVC) add_compile_options("/utf-8") + add_compile_options(/w44251 /w44275) add_definitions(-DNOMINMAX -D_USE_MATH_DEFINES) endif (MSVC) @@ -47,13 +56,27 @@ endif () # collects tgfx common files. set(TGFX_INCLUDES ./ include src) list(APPEND TGFX_INCLUDES ../ ../include ../src) -file(GLOB_RECURSE TGFX_FILES src/core/*.*) -file(GLOB COMMON_FILES +file(GLOB TGFX_FILES + src/core/*.* + src/core/utils/*.* + src/core/images/*.* + src/core/vectors/*.* src/gpu/*.* - src/image/*.* - src/platform/*.* - src/raster/*.*) -list(APPEND TGFX_FILES ${COMMON_FILES}) + src/gpu/gradients/*.* + src/platform/*.*) + +if (TGFX_USE_QT) + set(TGFX_USE_SWIFTSHADER OFF) +endif () + +if (TGFX_USE_QT OR TGFX_USE_SWIFTSHADER) + set(TGFX_USE_OPENGL ON) +endif () + +if (TGFX_USE_FREETYPE) + # Freetype needs libpng + set(TGFX_USE_PNG_DECODE ON) +endif () if (TGFX_USE_PNG_DECODE) add_definitions(-DTGFX_USE_PNG_DECODE) @@ -87,157 +110,218 @@ endif () if (TGFX_USE_JPEG) list(APPEND TGFX_STATIC_VENDORS libjpeg-turbo) - file(GLOB_RECURSE GFX_PLATFORM_FILES src/image/jpeg/*.*) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/core/images/jpeg/*.*) list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) list(APPEND TGFX_INCLUDES ../third_party/out/libjpeg-turbo/${INCLUDE_ENTRY}) endif () if (TGFX_USE_WEBP) list(APPEND TGFX_STATIC_VENDORS libwebp) - file(GLOB_RECURSE GFX_PLATFORM_FILES src/image/webp/*.*) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/core/images/webp/*.*) list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) list(APPEND TGFX_INCLUDES ../third_party/libwebp/src) endif () if (TGFX_USE_PNG) + set(TGFX_USE_ZLIB ON) list(APPEND TGFX_STATIC_VENDORS libpng) - file(GLOB_RECURSE GFX_PLATFORM_FILES src/image/png/*.*) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/core/images/png/*.*) list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) list(APPEND TGFX_INCLUDES ../third_party/out/libpng/${INCLUDE_ENTRY}) endif () -list(APPEND TGFX_STATIC_VENDORS pathkit) -list(APPEND TGFX_INCLUDES ../third_party/pathkit) -list(APPEND TGFX_STATIC_VENDORS skcms) -list(APPEND TGFX_INCLUDES ../third_party/skcms) - -add_vendor_target(TGFX STATIC_VENDORS ${TGFX_STATIC_VENDORS}) -list(APPEND TGFX_STATIC_LIBS ${TGFX_VENDOR_STATIC_LIBRARIES}) +if (TGFX_USE_ZLIB) + list(APPEND TGFX_STATIC_VENDORS zlib) +endif () -# collects freetype files. -if (NOT TGFX_USE_PNG) - # freetype has embedded libpng - list(APPEND FREETYPE_DEFINITIONS TGFX_USE_PNG_DECODE) +if (TGFX_USE_FREETYPE) + add_definitions(-DTGFX_USE_FREETYPE) + list(APPEND TGFX_STATIC_VENDORS freetype) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/core/vectors/freetype/*.*) + list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) + list(APPEND TGFX_INCLUDES ../third_party/freetype/include) +elseif (WEB) + add_definitions(-DTGFX_BUILD_FOR_WEB) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/core/vectors/web/*.*) + list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) +elseif (APPLE) + # Uses CoreGraphics instead. + add_definitions(-DTGFX_USE_CORE_GRAPHICS) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/core/vectors/coregraphics/*.*) + list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) endif () -list(APPEND FREETYPE_DEFINITIONS TGFX_USE_FREETYPE) -file(GLOB_RECURSE FREETYPE_FILES src/raster/freetype/*.*) -list(APPEND FREETYPE_INCLUDES ../third_party/freetype/include) -add_vendor_target(FREETYPE STATIC_VENDORS freetype) -list(APPEND FREETYPE_STATIC_LIBS ${FREETYPE_VENDOR_STATIC_LIBRARIES}) -file(GLOB_RECURSE OPENGL_FILES src/gpu/opengl/*.*) -list(APPEND EGL_INCLUDES ../third_party/swiftshader/include) +if (TGFX_USE_OPENGL) + file(GLOB GFX_PLATFORM_FILES src/gpu/opengl/*.*) + list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) +elseif (ANDROID) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/gpu/vulkan/*.*) + list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) +elseif (APPLE) + file(GLOB_RECURSE GFX_PLATFORM_FILES src/gpu/metal/*.*) + list(APPEND TGFX_FILES ${GFX_PLATFORM_FILES}) + find_library(Metal_LIBS Metal REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${Metal_LIBS}) +endif () -function(append_module target module) - set(${target}_DEFINITIONS ${${target}_DEFINITIONS} ${${module}_DEFINITIONS} PARENT_SCOPE) - set(${target}_INCLUDES ${${target}_INCLUDES} ${${module}_INCLUDES} PARENT_SCOPE) - set(${target}_FILES ${${target}_FILES} ${${module}_FILES} PARENT_SCOPE) - set(${target}_STATIC_LIBS ${${target}_STATIC_LIBS} ${${module}_STATIC_LIBS} PARENT_SCOPE) - set(${target}_SHARED_LIBS ${${target}_SHARED_LIBS} ${${module}_SHARED_LIBS} PARENT_SCOPE) -endfunction() +list(APPEND SWIFTSHADER_INCLUDES ../vendor/swiftshader/include) +file(GLOB SWIFTSHADER_LIBS ../vendor/swiftshader/${LIBRARY_ENTRY}/*${CMAKE_SHARED_LIBRARY_SUFFIX}) +file(GLOB_RECURSE EGL_PLATFORM_FILES src/gpu/opengl/egl/*.*) if (TGFX_USE_QT) # need to set the CMAKE_PREFIX_PATH to local QT installation path, for example : # set(CMAKE_PREFIX_PATH /Users/username/Qt5.13.0/5.13.0/clang_64/lib/cmake) find_package(Qt5OpenGL REQUIRED) - list(APPEND PLATFORM_SHARED_LIBS ${Qt5OpenGL_LIBRARIES}) - file(GLOB_RECURSE PLATFORM_FILES src/platform/mock/*.*) - list(APPEND PLATFORM_FILES ${OPENGL_FILES}) - list(APPEND PLATFORM_FILES ${FREETYPE_FILES}) - list(APPEND PLATFORM_VENDOR_TARGETS ${FREETYPE_VENDOR_TARGET}) - append_module(PLATFORM FREETYPE) -elseif (IOS OR MACOS) - find_library(Foundation_LIBS Foundation REQUIRED) - list(APPEND TGFX_SHARED_LIBS ${Foundation_LIBS}) - find_library(ImageIO_LIBS ImageIO REQUIRED) - list(APPEND TGFX_SHARED_LIBS ${ImageIO_LIBS}) - find_library(CORE_VIDEO CoreVideo) - list(APPEND TGFX_SHARED_LIBS ${CORE_VIDEO}) + find_package(Qt5Gui REQUIRED) + find_package(Qt5Quick REQUIRED) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${Qt5OpenGL_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Quick_LIBRARIES}) + list(APPEND GPU_PLATFORM_INCLUDES ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Quick_INCLUDE_DIRS}) + file(GLOB_RECURSE GPU_PLATFORM_FILES src/gpu/opengl/qt/*.*) +elseif (TGFX_USE_SWIFTSHADER) + list(APPEND GPU_PLATFORM_INCLUDES ${SWIFTSHADER_INCLUDES}) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${SWIFTSHADER_LIBS}) + list(APPEND GPU_PLATFORM_FILES ${EGL_PLATFORM_FILES}) +else () + set(TGFX_USE_NATIVE_GL ON) +endif () - if (IOS) - find_library(OpenGL_LIBS OpenGLES REQUIRED) - file(GLOB_RECURSE PLATFORM_FILES src/platform/ios/*.* src/platform/apple/*.*) - else () - find_library(OpenGL_LIBS OpenGL REQUIRED) - find_library(COCOA Cocoa REQUIRED) - list(APPEND TGFX_SHARED_LIBS ${COCOA}) - find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices REQUIRED) - list(APPEND TGFX_SHARED_LIBS ${APPLICATION_SERVICES_FRAMEWORK}) - file(GLOB_RECURSE PLATFORM_FILES src/platform/mac/*.* src/platform/apple/*.*) - endif () +list(APPEND TGFX_STATIC_VENDORS pathkit) +list(APPEND TGFX_INCLUDES ../third_party/pathkit) +list(APPEND TGFX_STATIC_VENDORS skcms) +list(APPEND TGFX_INCLUDES ../third_party/skcms) - list(APPEND CORE_GRAPHICS_DEFINITIONS TGFX_USE_CORE_GRAPHICS) - file(GLOB_RECURSE CORE_GRAPHICS_FILES src/raster/coregraphics/*.*) +if (WEB) + file(GLOB_RECURSE PLATFORM_FILES src/platform/web/*.*) + list(APPEND TGFX_PLATFORM_FILES ${PLATFORM_FILES}) + if (TGFX_USE_NATIVE_GL) + file(GLOB_RECURSE GPU_PLATFORM_FILES src/gpu/opengl/webgl/*.*) + endif () +elseif (IOS) + # finds all required platform libraries. + find_library(UIKit_LIBS UIKit REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${UIKit_LIBS}) + find_library(Foundation_LIBS Foundation REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${Foundation_LIBS}) find_library(QuartzCore_LIBS QuartzCore REQUIRED) - list(APPEND CORE_GRAPHICS_SHARED_LIBS ${QuartzCore_LIBS}) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${QuartzCore_LIBS}) find_library(CoreGraphics_LIBS CoreGraphics REQUIRED) - list(APPEND CORE_GRAPHICS_SHARED_LIBS ${CoreGraphics_LIBS}) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${CoreGraphics_LIBS}) find_library(CoreText_LIBS CoreText REQUIRED) - list(APPEND CORE_GRAPHICS_SHARED_LIBS ${CoreText_LIBS}) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${CoreText_LIBS}) + find_library(CoreMedia_LIBS CoreMedia REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${CoreMedia_LIBS}) + find_library(CoreMedia_LIBS CoreMedia REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${CoreMedia_LIBS}) + find_library(ImageIO_LIBS ImageIO REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${ImageIO_LIBS}) + find_library(CORE_VIDEO CoreVideo) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${CORE_VIDEO}) find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) - list(APPEND CORE_GRAPHICS_SHARED_LIBS ${ICONV_LIBRARIES}) - file(GLOB_RECURSE METAL_FILES src/gpu/metal/*.*) - find_library(METAL_SHARED_LIBS Metal REQUIRED) - - if (TGFX_USE_CORE_GRAPHICS) - append_module(PLATFORM CORE_GRAPHICS) - else () - list(APPEND PLATFORM_VENDOR_TARGETS ${FREETYPE_VENDOR_TARGET}) - append_module(PLATFORM FREETYPE) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${ICONV_LIBRARIES}) + + file(GLOB_RECURSE PLATFORM_FILES src/platform/apple/*.*) + list(APPEND TGFX_PLATFORM_FILES ${PLATFORM_FILES}) + + if (TGFX_USE_NATIVE_GL) + add_definitions(-DGL_SILENCE_DEPRECATION) + find_library(OpenGLES_LIBS OpenGLES REQUIRED) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${OpenGLES_LIBS}) + file(GLOB_RECURSE GPU_PLATFORM_FILES src/gpu/opengl/eagl/*.*) endif () +elseif (MACOS) + # finds all required platform libraries. + find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${APPLICATION_SERVICES_FRAMEWORK}) + find_library(QUARTZ_CORE QuartzCore REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${QUARTZ_CORE}) + find_library(COCOA Cocoa REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${COCOA}) + find_library(FOUNDATION Foundation REQUIRED) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${FOUNDATION}) + find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${ICONV_LIBRARIES}) + find_library(CORE_MEDIA CoreMedia) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${CORE_MEDIA}) + + file(GLOB_RECURSE PLATFORM_FILES src/platform/apple/*.*) + list(APPEND TGFX_PLATFORM_FILES ${PLATFORM_FILES}) - if (TGFX_USE_METAL) - append_module(PLATFORM METAL) - else () - list(APPEND PLATFORM_SHARED_LIBS ${OpenGL_LIBS}) - list(APPEND PLATFORM_DEFINITIONS GL_SILENCE_DEPRECATION) + if (TGFX_USE_NATIVE_GL) + add_definitions(-DGL_SILENCE_DEPRECATION) + find_library(OpenGL_LIBS OpenGL REQUIRED) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${OpenGL_LIBS}) + file(GLOB_RECURSE GPU_PLATFORM_FILES src/gpu/opengl/cgl/*.*) endif () + elseif (ANDROID) - find_library(LOG_LIB log REQUIRED) - list(APPEND TGFX_SHARED_LIBS ${LOG_LIB}) - find_library(ANDROID_LIB android REQUIRED) - list(APPEND TGFX_SHARED_LIBS ${ANDROID_LIB}) - find_library(JNIGRAPHICS_LIB jnigraphics REQUIRED) - list(APPEND TGFX_SHARED_LIBS ${JNIGRAPHICS_LIB}) - find_library(Z_LIB z) - list(APPEND TGFX_SHARED_LIBS ${Z_LIB}) + + find_library(LOG_LIB log) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${LOG_LIB}) + find_library(ANDROID_LIB android) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${ANDROID_LIB}) + find_library(JNIGRAPHICS_LIB jnigraphics) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${JNIGRAPHICS_LIB}) file(GLOB_RECURSE PLATFORM_FILES src/platform/android/*.*) - list(APPEND PLATFORM_FILES ${OPENGL_FILES}) - list(APPEND PLATFORM_FILES ${FREETYPE_FILES}) - list(APPEND PLATFORM_VENDOR_TARGETS ${FREETYPE_VENDOR_TARGET}) - append_module(PLATFORM FREETYPE) - find_library(EGL_LIB EGL REQUIRED) - list(APPEND PLATFORM_SHARED_LIBS ${EGL_LIB}) - find_library(GLESV2_LIB GLESv2 REQUIRED) - list(APPEND PLATFORM_SHARED_LIBS ${GLESV2_LIB}) -else () + list(APPEND TGFX_PLATFORM_FILES ${PLATFORM_FILES}) + + if (TGFX_USE_NATIVE_GL) + find_library(GLESV2_LIB GLESv2) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${GLESV2_LIB}) + find_library(EGL_LIB EGL) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${EGL_LIB}) + file(GLOB_RECURSE GPU_PLATFORM_FILES src/gpu/opengl/egl/*.*) + endif () + + # optimizes the output size + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gc-sections -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/android/libpag/export.def") + add_compile_options(-ffunction-sections -fdata-sections -Os -fno-exceptions -fno-rtti) + +elseif (WIN32) + find_library(Bcrypt_LIB Bcrypt) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${Bcrypt_LIB}) + find_library(ws2_32_LIB ws2_32) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${ws2_32_LIB}) + file(GLOB_RECURSE PLATFORM_FILES src/platform/mock/*.*) - list(APPEND PLATFORM_FILES ${OPENGL_FILES}) - list(APPEND PLATFORM_FILES ${FREETYPE_FILES}) - list(APPEND PLATFORM_INCLUDES ${EGL_INCLUDES}) - list(APPEND PLATFORM_VENDOR_TARGETS ${FREETYPE_VENDOR_TARGET}) - append_module(PLATFORM FREETYPE) -endif () - -add_library(tgfx STATIC ${TGFX_VENDOR_TARGET} ${PLATFORM_VENDOR_TARGETS} ${TGFX_FILES} ${PLATFORM_FILES}) -target_compile_definitions(tgfx PUBLIC ${PLATFORM_DEFINITIONS}) -target_include_directories(tgfx PUBLIC ${TGFX_INCLUDES} ${PLATFORM_INCLUDES}) -merge_libraries_into(tgfx ${TGFX_STATIC_LIBS} ${PLATFORM_STATIC_LIBS}) -target_link_libraries(tgfx) - -file(GLOB_RECURSE MOCK_FILES src/platform/mock/*.*) -list(APPEND MOCK_FILES ${OPENGL_FILES}) -list(APPEND MOCK_INCLUDES ${EGL_INCLUDES}) - -add_library(tgfx-egl-ft STATIC ${TGFX_VENDOR_TARGET} ${FREETYPE_VENDOR_TARGET} ${TGFX_FILES} ${MOCK_FILES} ${FREETYPE_FILES}) -target_compile_definitions(tgfx-egl-ft PUBLIC ${FREETYPE_DEFINITIONS}) -target_include_directories(tgfx-egl-ft PUBLIC ${TGFX_INCLUDES} ${MOCK_INCLUDES} ${FREETYPE_INCLUDES}) -merge_libraries_into(tgfx-egl-ft ${TGFX_STATIC_LIBS} ${FREETYPE_STATIC_LIBS}) -target_link_libraries(tgfx-egl-ft) - -add_library(tgfx-egl-cg STATIC ${TGFX_VENDOR_TARGET} ${FREETYPE_VENDOR_TARGET} ${TGFX_FILES} ${MOCK_FILES} ${CORE_GRAPHICS_FILES}) -target_compile_definitions(tgfx-egl-cg PUBLIC ${CORE_GRAPHICS_DEFINITIONS}) -target_include_directories(tgfx-egl-cg PUBLIC ${TGFX_INCLUDES} ${MOCK_INCLUDES}) -merge_libraries_into(tgfx-egl-cg ${TGFX_STATIC_LIBS}) -target_link_libraries(tgfx-egl-cg) \ No newline at end of file + list(APPEND TGFX_PLATFORM_FILES ${PLATFORM_FILES}) + + if (TGFX_USE_NATIVE_GL) + file(GLOB ANGLE_LIBS ../vendor/angle/${PLATFORM}/${ARCH}/*${CMAKE_STATIC_LIBRARY_SUFFIX}) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${ANGLE_LIBS}) + list(APPEND GPU_PLATFORM_INCLUDES ../vendor/angle/include) + file(GLOB_RECURSE GPU_PLATFORM_FILES src/gpu/opengl/egl/*.*) + endif () +elseif (CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") + find_package(Threads) + list(APPEND TGFX_PLATFORM_SHARED_LIBS ${CMAKE_THREAD_LIBS_INIT}) + list(APPEND TGFX_PLATFORM_SHARED_LIBS dl) + add_compile_options(-fPIC -pthread) + + file(GLOB_RECURSE PLATFORM_FILES src/platform/mock/*.*) + list(APPEND TGFX_PLATFORM_FILES ${PLATFORM_FILES}) + + if (TGFX_USE_NATIVE_GL) + find_library(GLESV2_LIB GLESv2) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${GLESV2_LIB}) + find_library(EGL_LIB EGL) + list(APPEND GPU_PLATFORM_SHARED_LIBS ${EGL_LIB}) + file(GLOB_RECURSE GPU_PLATFORM_FILES src/gpu/opengl/egl/*.*) + endif () +endif () + +add_vendor_target(TGFX STATIC_VENDORS ${TGFX_STATIC_VENDORS} SHARED_VENDORS ${TGFX_SHARED_VENDORS}) +list(APPEND TGFX_PLATFORM_STATIC_LIBS ${TGFX_VENDOR_STATIC_LIBRARIES}) +list(APPEND TGFX_PLATFORM_SHARED_LIBS ${TGFX_VENDOR_SHARED_LIBRARIES}) + +add_library(tgfx STATIC ${TGFX_VENDOR_TARGET} ${PLATFORM_VENDOR_TARGETS} ${TGFX_FILES} ${TGFX_PLATFORM_FILES} ${GPU_PLATFORM_FILES}) +target_include_directories(tgfx PUBLIC ${TGFX_INCLUDES} ${TGFX_PLATFORM_INCLUDES} ${GPU_PLATFORM_INCLUDES}) +merge_libraries_into(tgfx ${TGFX_STATIC_LIBS} ${TGFX_PLATFORM_STATIC_LIBS}) +target_link_libraries(tgfx ${TGFX_PLATFORM_SHARED_LIBS} ${GPU_PLATFORM_SHARED_LIBS}) + +if (MACOS OR WIN32) + add_library(tgfx-ss STATIC ${TGFX_VENDOR_TARGET} ${PLATFORM_VENDOR_TARGETS} ${TGFX_FILES} ${TGFX_PLATFORM_FILES} ${EGL_PLATFORM_FILES}) + target_include_directories(tgfx-ss PUBLIC ${TGFX_INCLUDES} ${TGFX_PLATFORM_INCLUDES} ${SWIFTSHADER_INCLUDES}) + merge_libraries_into(tgfx-ss ${TGFX_STATIC_LIBS} ${TGFX_PLATFORM_STATIC_LIBS}) + target_link_libraries(tgfx-ss ${TGFX_PLATFORM_SHARED_LIBS} ${SWIFTSHADER_LIBS}) +endif () \ No newline at end of file diff --git a/vendor.json b/vendor.json index 5dfac5084a..5132254a17 100644 --- a/vendor.json +++ b/vendor.json @@ -35,12 +35,6 @@ "includes": [ "${SOURCE_DIR}/zlib.h", "${BUILD_DIR}/zconf.h" - ], - "platforms": [ - "mac", - "win", - "linux", - "ios" ] } },