Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace decoders with libvips, add tests and rename package #1

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
808b0b2
Add tests
Rodrigodd Nov 7, 2024
d95d285
Add benchmark module
Rodrigodd Dec 1, 2024
53221ea
Update to Gradle 8.9 and NDK 26.3
Rodrigodd Dec 7, 2024
d591161
Refactor CMake project to use ExternalProject
Rodrigodd Dec 7, 2024
51810e3
ci: Inspect and archive library file
Rodrigodd Oct 27, 2024
0650d26
Install more recent version of meson
Rodrigodd Nov 10, 2024
6c0fa4a
Refactor CMake project to use ExternalProject
Rodrigodd Oct 26, 2024
6b03a3d
Add documentation to decoder_base
Rodrigodd Nov 16, 2024
07ec50c
Add decoder libvips
Rodrigodd Nov 8, 2024
e4bccd3
Remove all decoders minus libvips
Rodrigodd Nov 30, 2024
98871cd
Resize full image and then decode region
Rodrigodd Nov 30, 2024
ac21786
Write to Bitmap pixels directer
Rodrigodd Nov 30, 2024
df5e52e
Add documentation and minor refactors
Rodrigodd Nov 30, 2024
43f07fd
Remove loops from tests
Rodrigodd Nov 30, 2024
63165cc
Rename package to `dev.mihon.image.decoder`
Rodrigodd Nov 30, 2024
c196d56
Remove ImageInfo struct
Rodrigodd Dec 1, 2024
b40a998
Rename `java/` to `kotlin/`
Rodrigodd Dec 1, 2024
95e6a19
Add .cache to gitignore
Rodrigodd Dec 1, 2024
218f3f3
lmcs2 for rgb, cmyk, no profile
wwww-wwww Dec 1, 2024
94ad0de
Fix test path
Rodrigodd Dec 1, 2024
121b012
fix: Initialize VIPS_INIT only once
Rodrigodd Dec 5, 2024
863efc9
ci: Run tests on emulator
Rodrigodd Dec 7, 2024
f7dea5a
ci: Remove build step before running emulator
Rodrigodd Dec 8, 2024
3b374c9
ci: Free disk space
Rodrigodd Dec 8, 2024
be01ad1
ci: remove autoremove
Rodrigodd Dec 8, 2024
0e34112
ci: Setup Android SDK
Rodrigodd Dec 8, 2024
a71fc01
ci: Run :benchmark in dryRunMode
Rodrigodd Dec 8, 2024
e78dbd8
Try to cache CMake output
Rodrigodd Dec 8, 2024
fa68e4b
Fix typo in ./gradlew -P arg
Rodrigodd Dec 8, 2024
cb69e0a
ci: Give up on testing bench on CI
Rodrigodd Dec 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Refactor CMake project to use ExternalProject
Also rely on the existing build tool of each external project, instead
of patching CMake into them.

Most `ExternalProject_Add` wrappers were copied from Komelia, at
[https://github.com/Snd-R/Komelia/tree/8b938397e5c8743d4e995d2cc16203367de6f67d/image-decoder/native/cmake],
but modified to make sure all libraries are staticaly linked.
  • Loading branch information
Rodrigodd committed Dec 7, 2024
commit 6c0fa4a9619493b169c219f98d5d94000d9c654a
78 changes: 78 additions & 0 deletions library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,84 @@ android {
}

dependencies {
androidTestImplementation 'androidx.test:core:1.6.1'
androidTestImplementation 'androidx.test:core-ktx:1.6.1'
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.2.1'
androidTestImplementation 'junit:junit:4.13.2'
androidTestImplementation "androidx.test:runner:1.6.2"
}

task printTaskInputs {
doLast {
project.getTasks().each { task ->

if (!task.name.startsWith('buildCMakeDebug')) {
return
}

println "--------------------------------------------------------------------------------"
println " Task '${project.name}:${task.name}'"
println "--------------------------------------------------------------------------------"
println ""

println "File inputs:"
try {
task.inputs.files.each {
println " - ${it}"
}
} catch (e) {
println "Error ${e}"
}
println ""

println "Property inputs:"
try{
task.inputs.properties.each {
println " - ${it}"
}
} catch (e) {
println "Error ${e}"
}
println ""

println "File outputs:"
try {
task.outputs.files.each {
println " - ${it}"
}
task.outputs.properties.each {
println " - ${it}"
}
task.outputs.upToDateSpec.getSpecs().each {
println " * ${it}"
}
} catch (e) {
println "Error ${e}"
}
println ""

println "Dependencies"
try {
task.getDependsOn().each {
println "- ${it}"
}
} catch (e) {
println "Error ${e}"
}

println "--------------------------------------------------------------------------------"
println ""
}
}
}

tasks.configureEach { task ->
if (task.name.startsWith('buildCMakeDebug')) {
task.inputs.files(fileTree("src/main/cpp/"))
task.outputs.upToDateSpec = AndSpec.EMPTY
outputs.upToDateWhen { true }
}
}

afterEvaluate {
Expand Down
64 changes: 51 additions & 13 deletions library/src/main/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ cmake_minimum_required(VERSION 3.14)
project(imagedecoder C CXX ASM)
# include(FetchContent)

execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "environment")

# execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "environment")
#
# get_cmake_property(_variableNames VARIABLES)
# list (SORT _variableNames)
# foreach (_variableName ${_variableNames})
Expand All @@ -34,15 +34,15 @@ execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "environment")
#
# set(CMAKE_BUILD_TYPE Release)

option(WITH_JPEG "Include JPEG decoder" OFF)
option(WITH_PNG "Include PNG decoder" OFF)
option(WITH_WEBP "Include WebP decoder" OFF)
option(WITH_JPEG "Include JPEG decoder" ON)
option(WITH_PNG "Include PNG decoder" ON)
option(WITH_WEBP "Include WebP decoder" ON)
option(WITH_HEIF "Include HEIF decoder" ON)
option(WITH_AVIF "Include AVIF decoder" OFF)
option(WITH_JXL "Include JXL decoder" OFF)
option(WITH_AVIF "Include AVIF decoder" ON)
option(WITH_JXL "Include JXL decoder" ON)

set(THIRD_PARTY_LIB_PATH ${CMAKE_BINARY_DIR}/fakeroot)
set(CMAKE_FIND_ROOT_PATH ${THIRD_PARTY_LIB_PATH}/lib;${CMAKE_FIND_ROOT_PATH})
set(CMAKE_FIND_ROOT_PATH ${THIRD_PARTY_LIB_PATH};${CMAKE_FIND_ROOT_PATH})
set_directory_properties(PROPERTIES EP_PREFIX ${THIRD_PARTY_LIB_PATH})

add_library(imagedecoder SHARED
Expand Down Expand Up @@ -111,7 +111,41 @@ CMAKE_FIND_ROOT_PATH_MODE_PACKAGE = 'ONLY'
set(MESON_CROSS_FILE_PATH "${CMAKE_BINARY_DIR}/android-cross-file.txt")
file(WRITE ${MESON_CROSS_FILE_PATH} "${CROSS_FILE_CONTENT}")

set(MESON_CROSS_FILE_ARG "--cross-file=${MESON_CROSS_FILE_PATH}")
# Common args to all Mason ExternalProjects
set(EP_MESON_ARGS "--cross-file=${MESON_CROSS_FILE_PATH}"
"--prefix=<INSTALL_DIR>"
"--libdir=lib"
"--default-library=static"
"--buildtype=release")

# Common args to all CMake ExternalProjects
set(EP_CMAKE_ARGS "-DANDROID_ABI=${ANDROID_ABI}"
"-DANDROID_PLATFORM=${ANDROID_PLATFORM}"
"-DANDROID_USE_LEGACY_TOOLCHAIN_FILE=OFF"
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
"-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/fakeroot"
"-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}"
"-DCMAKE_SYSROOT=${CMAKE_SYSROOT}"
"-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
"-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}"
"-DCMAKE_FIND_LIBRARY_SUFFIXES=${CMAKE_FIND_LIBRARY_SUFFIXES}"
"-DCMAKE_FIND_DEBUG_MODE=OFF"
"-DBUILD_SHARED_LIBS=OFF"
"-DBUILD_TESTING=OFF")

# Common args to all autotools ExternalProjects
set(EP_AUTOTOOLS_ARGS "--host=${CMAKE_LIBRARY_ARCHITECTURE}"
"CC=${CMAKE_C_COMPILER} --target=${CMAKE_LIBRARY_ARCHITECTURE}${ANDROID_PLATFORM_LEVEL}"
"CXX=${CMAKE_CXX_COMPILER} --target=${CMAKE_LIBRARY_ARCHITECTURE}${ANDROID_PLATFORM_LEVEL}"
"AR=${CMAKE_AR}"
"AS=${CMAKE_ASM_COMPILER}"
"LD=${CMAKE_LINKER}"
"RANLIB=${CMAKE_RANLIB}"
"STRIP=${CMAKE_STRIP}"
"--prefix=${THIRD_PARTY_LIB_PATH}"
"--disable-shared"
"--enable-static"
"--with-pic")

include("cmake/little-cms.cmake")
include("cmake/jpeg-turbo.cmake")
Expand All @@ -128,13 +162,16 @@ include("cmake/jxl.cmake")
target_include_directories(imagedecoder PRIVATE ${THIRD_PARTY_LIB_PATH}/include)
target_link_directories(imagedecoder PRIVATE ${THIRD_PARTY_LIB_PATH}/lib)

# Prefer static libraries
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so")

add_dependencies(imagedecoder ep_little-cms)
target_link_libraries(imagedecoder android jnigraphics log lcms2)
target_link_libraries(imagedecoder android jnigraphics log lcms2)

if(WITH_JPEG)
add_definitions(-DHAVE_LIBJPEG)
target_sources(imagedecoder PRIVATE decoder_jpeg.cpp)
target_link_libraries(imagedecoder jpeg-static)
target_link_libraries(imagedecoder jpeg)
add_dependencies(imagedecoder ep_jpeg-turbo)
endif()
if(WITH_PNG)
Expand All @@ -146,17 +183,18 @@ endif()
if(WITH_WEBP OR WITH_HEIF OR WITH_AVIF)
add_definitions(-DHAVE_LIBWEBP)
target_sources(imagedecoder PRIVATE decoder_webp.cpp)
target_link_libraries(imagedecoder heif webpdecoder webpdemux z)
target_link_libraries(imagedecoder webpdecoder webpdemux z)
add_dependencies(imagedecoder ep_webp)
endif()
if(WITH_HEIF OR WITH_AVIF)
add_definitions(-DHAVE_LIBHEIF)
target_sources(imagedecoder PRIVATE decoder_heif.cpp)
target_link_libraries(imagedecoder heif dav1d de265)
add_dependencies(imagedecoder ep_heif)
endif()
if(WITH_JXL)
add_definitions(-DHAVE_LIBJXL)
target_sources(imagedecoder PRIVATE decoder_jxl.cpp)
target_link_libraries(imagedecoder jxl_dec jxl_threads brotlidec brotlienc brotlicommon hwy -Wl,--allow-multiple-definition)
target_link_libraries(imagedecoder jxl_threads jxl_cms jxl brotlidec brotlienc brotlicommon hwy -Wl,--allow-multiple-definition)
add_dependencies(imagedecoder ep_jxl)
endif()
10 changes: 2 additions & 8 deletions library/src/main/cpp/cmake/brotli.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,7 @@ ExternalProject_Add(ep_brotli
GIT_REPOSITORY https://github.com/google/brotli
GIT_TAG v1.1.0
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/fakeroot
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_PLATFORM=${ANDROID_PLATFORM}
-DANDROID_USE_LEGACY_TOOLCHAIN_FILE=OFF
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
${EP_CMAKE_ARGS}
USES_TERMINAL_DOWNLOAD true
USES_TERMINAL_BUILD true
)
)
2 changes: 1 addition & 1 deletion library/src/main/cpp/cmake/dav1d.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ GIT_REPOSITORY https://code.videolan.org/videolan/dav1d.git
GIT_TAG 1.4.3
DEPENDS ep_zlib
CONFIGURE_COMMAND
${Meson_EXECUTABLE} setup ${MESON_CROSS_FILE_ARG} --prefix=<INSTALL_DIR> --libdir=lib <BINARY_DIR> <SOURCE_DIR>
${Meson_EXECUTABLE} setup ${EP_MESON_ARGS} <BINARY_DIR> <SOURCE_DIR>
BUILD_COMMAND
${Ninja_EXECUTABLE} -C <BINARY_DIR>
INSTALL_COMMAND
Expand Down
10 changes: 1 addition & 9 deletions library/src/main/cpp/cmake/de265.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,8 @@ ExternalProject_Add(ep_de265
GIT_REPOSITORY https://github.com/strukturag/libde265.git
GIT_TAG v1.0.15
CMAKE_ARGS
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/fakeroot
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_PLATFORM=${ANDROID_PLATFORM}
-DANDROID_USE_LEGACY_TOOLCHAIN_FILE=OFF
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
${EP_CMAKE_ARGS}
-DENABLE_SDL=OFF
-DBUILD_SHARED_LIBS=OFF
USES_TERMINAL_DOWNLOAD true
USES_TERMINAL_BUILD true
)
21 changes: 6 additions & 15 deletions library/src/main/cpp/cmake/heif.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,11 @@ include(ExternalProject)

ExternalProject_Add(ep_heif
GIT_REPOSITORY https://github.com/strukturag/libheif.git
GIT_TAG v1.17.6
GIT_TAG v1.19.2
DEPENDS ep_dav1d ep_de265 ep_webp ep_zlib
CMAKE_ARGS
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/fakeroot
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_PLATFORM=${ANDROID_PLATFORM}
-DANDROID_USE_LEGACY_TOOLCHAIN_FILE=OFF
${EP_CMAKE_ARGS}
-DWITH_GDK_PIXBUF=OFF
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
# -DWITH_DAV1D=ON
# -DWITH_LIBDE265=ON
-DWITH_AOM_DECODER=OFF
-DWITH_AOM_ENCODER=OFF
-DWITH_SvtEnc=OFF
Expand All @@ -26,12 +17,12 @@ ExternalProject_Add(ep_heif
-DWITH_KVAZAAR=OFF
-DWITH_OpenJPEG_DECODER=OFF
-DWITH_OpenJPEG_ENCODER=OFF
-DWITH_DAV1D_PLUGIN=OFF
-DWITH_LIBDE265_PLUGIN=OFF
-DBUILD_SHARED_LIBS=OFF
-DWITH_EXAMPLES=OFF
-DWITH_DAV1D=OFF
-DWITH_LIBDE265=OFF
-DWITH_DAV1D=ON
-DWITH_DAV1D_PLUGIN=OFF
-DWITH_LIBDE265=ON
-DWITH_LIBDE265_PLUGIN=OFF
-DWITH_X265=OFF
-DWITH_AOM=OFF
-DWITH_RAV1E=OFF
Expand Down
16 changes: 5 additions & 11 deletions library/src/main/cpp/cmake/highway.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,13 @@ ExternalProject_Add(ep_highway
GIT_REPOSITORY https://github.com/google/highway.git
GIT_TAG 1.2.0
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/fakeroot
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_PLATFORM=${ANDROID_PLATFORM}
-DANDROID_USE_LEGACY_TOOLCHAIN_FILE=OFF
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
-DCMAKE_BUILD_TYPE=None
-DBUILD_SHARED_LIBS=ON
-DBUILD_TESTING=OFF
${EP_CMAKE_ARGS}
-DHWY_ENABLE_CONTRIB=OFF
-DHWY_ENABLE_EXAMPLES=OFF
-DHWY_ENABLE_TESTS=OFF
-DHWY_SYSTEM_GTEST=ON
-DHWY_FORCE_STATIC_LIBS=ON

USES_TERMINAL_DOWNLOAD true
USES_TERMINAL_BUILD true
)
)
11 changes: 2 additions & 9 deletions library/src/main/cpp/cmake/jpeg-turbo.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,10 @@ ExternalProject_Add(ep_jpeg-turbo
GIT_REPOSITORY https://github.com/libjpeg-turbo/libjpeg-turbo
GIT_TAG 2.1.90
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/fakeroot
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_PLATFORM=${ANDROID_PLATFORM}
-DANDROID_USE_LEGACY_TOOLCHAIN_FILE=OFF
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}

${EP_CMAKE_ARGS}
-DWITH_JPEG8=1
-DWITH_TURBOJPEG=0
-DENABLE_SHARED=0
-DENABLE_SHARED=OFF
-DREQUIRE_SIMD=1
USES_TERMINAL_DOWNLOAD true
USES_TERMINAL_BUILD true
Expand Down
25 changes: 15 additions & 10 deletions library/src/main/cpp/cmake/jxl.cmake
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
include(ExternalProject)

cmake_policy(SET CMP0097 NEW)

ExternalProject_Add(ep_jxl
GIT_REPOSITORY https://github.com/libjxl/libjxl
GIT_TAG v0.10.3
DEPENDS ep_highway ep_brotli
GIT_TAG v0.11.0
GIT_SUBMODULES "third_party/skcms"
DEPENDS ep_highway ep_brotli ep_little-cms
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/fakeroot
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_PLATFORM=${ANDROID_PLATFORM}
-DANDROID_USE_LEGACY_TOOLCHAIN_FILE=OFF
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
${EP_CMAKE_ARGS}
-DJPEGXL_BUNDLE_LIBPNG=false
-DBUILD_TESTING=OFF
-DJPEGXL_ENABLE_DOXYGEN=OFF
-DJPEGXL_ENABLE_MANPAGES=OFF
-DJPEGXL_ENABLE_EXAMPLES=OFF
Expand All @@ -24,6 +20,15 @@ ExternalProject_Add(ep_jxl
-DJPEGXL_ENABLE_BENCHMARK=OFF
-DJPEGXL_ENABLE_JPEGLI=OFF
-DJPEGXL_ENABLE_DEVTOOLS=OFF
-DJPEGXL_FORCE_SYSTEM_HWY=ON
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON
-DJPEGXL_FORCE_SYSTEM_LCMS2=ON
-DJPEGXL_ENABLE_SKCMS=OFF
-DBUILD_SHARED_LIBS=OFF
# -DJPEGXL_ENABLE_JPEGLI=OFF
# -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=ON
# -DJPEGXL_INSTALL_JPEGLI_LIBJPEG=ON

USES_TERMINAL_DOWNLOAD true
USES_TERMINAL_BUILD true
)
11 changes: 1 addition & 10 deletions library/src/main/cpp/cmake/little-cms.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,7 @@ ExternalProject_Add(ep_little-cms
GIT_TAG lcms2.16
# DOWNLOAD_COMMAND git clone https://github.com/mm2/Little-CMS --branch lcms2.16 --depth 1 ep_lcms || true
CONFIGURE_COMMAND
<SOURCE_DIR>/autogen.sh --host ${CMAKE_LIBRARY_ARCHITECTURE}
"CC=${CMAKE_C_COMPILER} --target=${CMAKE_C_COMPILER_TARGET}"
"CXX=${CMAKE_CXX_COMPILER} --target=${CMAKE_CXX_COMPILER_TARGET}"
"AR=${CMAKE_AR}"
"AS=${CMAKE_ASM_COMPILER}"
"LD=${CMAKE_LINKER}"
"RANLIB=${CMAKE_RANLIB}"
"STRIP=${CMAKE_STRIP}"
--prefix ${CMAKE_BINARY_DIR}/fakeroot
<SOURCE_DIR>/autogen.sh ${EP_AUTOTOOLS_ARGS}
BUILD_COMMAND
${Make_EXECUTABLE} all
INSTALL_COMMAND
Expand All @@ -24,6 +16,5 @@ ExternalProject_Add(ep_little-cms

USES_TERMINAL_DOWNLOAD true
USES_TERMINAL_BUILD true
GIT_PROGRESS true
GIT_SHALLOW true
)
Loading