Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Vendor SQLite and ICU #12808

Merged
merged 5 commits into from
Sep 5, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ set(CMAKE_CONFIGURATION_TYPES Debug Release RelWithDebInfo Sanitize)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)

Expand Down Expand Up @@ -89,8 +90,11 @@ if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-command-line-argument")
endif()
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -DNDEBUG")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -DNDEBUG")
set(CMAKE_CXX_FLAGS_SANITIZE "${CMAKE_CXX_FLAGS_SANITIZE} -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls")
set(CMAKE_C_FLAGS_SANITIZE "${CMAKE_C_FLAGS_SANITIZE} -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls")

if(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unknown-warning-option")
Expand Down
2 changes: 1 addition & 1 deletion circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ step-library:
jobs:
nitpick:
docker:
- image: mbgl/7d2403f42e:base
- image: mbgl/7d2403f42e:linux-clang-4
working_directory: /src
environment:
LIBSYSCONFCPUS: 4
Expand Down
26 changes: 26 additions & 0 deletions cmake/icu.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
add_vendor_target(icu STATIC)

target_compile_definitions(icu
PRIVATE "-D_REENTRANT"
PRIVATE "-DU_HAVE_ATOMIC=1"
PRIVATE "-DU_HAVE_STRTOD_L=0"
PRIVATE "-DU_CHARSET_IS_UTF8=1"
PRIVATE "-DU_CHAR_TYPE=uint_least16_t"
PRIVATE "-DUCONFIG_NO_LEGACY_CONVERSION=1"
PRIVATE "-DUCONFIG_NO_BREAK_ITERATION=1"
)

target_compile_options(icu
PRIVATE "-Wno-shadow"
)

if(MBGL_PLATFORM STREQUAL "android")
target_compile_options(icu
PRIVATE "-Wno-tautological-unsigned-enum-zero-compare"
)
elseif(MBGL_PLATFORM STREQUAL "ios")
target_compile_options(icu
PRIVATE "-Wno-shorten-64-to-32"
)
endif()

9 changes: 0 additions & 9 deletions cmake/mason-dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,15 @@ mason_use(vector-tile VERSION 1.0.2 HEADER_ONLY)

if(MBGL_PLATFORM STREQUAL "android")
mason_use(jni.hpp VERSION 3.0.0 HEADER_ONLY)
mason_use(sqlite VERSION 3.24.0-min-size)
mason_use(icu VERSION 58.1-min-size)
elseif(MBGL_PLATFORM STREQUAL "ios")
mason_use(icu VERSION 58.1-min-size)
elseif(MBGL_PLATFORM STREQUAL "linux")
mason_use(glfw VERSION 2018-06-27-0be4f3f)
mason_use(sqlite VERSION 3.24.0-min-size)
mason_use(libuv VERSION 1.9.1)
mason_use(libpng VERSION 1.6.25)
mason_use(libjpeg-turbo VERSION 1.5.0)
mason_use(webp VERSION 0.5.1)
mason_use(benchmark VERSION 1.4.1${MASON_CXXABI_SUFFIX})
mason_use(icu VERSION 58.1-min-size)
mason_use(args VERSION 6.2.0 HEADER_ONLY)

if(WITH_EGL)
Expand All @@ -41,7 +37,6 @@ elseif(MBGL_PLATFORM STREQUAL "linux")
elseif(MBGL_PLATFORM STREQUAL "macos")
mason_use(glfw VERSION 2018-06-27-0be4f3f)
mason_use(benchmark VERSION 1.4.1)
mason_use(icu VERSION 58.1-min-size)
mason_use(args VERSION 6.2.0 HEADER_ONLY)

if(WITH_EGL)
Expand All @@ -55,8 +50,4 @@ elseif(MBGL_PLATFORM STREQUAL "qt")
mason_use(libpng VERSION 1.6.25)
mason_use(webp VERSION 0.5.1)
endif()

if(NOT WITH_QT_I18N)
mason_use(icu VERSION 58.1-min-size)
endif()
endif()
36 changes: 36 additions & 0 deletions cmake/sqlite.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
add_vendor_target(sqlite STATIC)

target_compile_definitions(sqlite
PRIVATE "-DVERSION=\"3.24.0\""
PRIVATE "-DSTDC_HEADERS=int"
PRIVATE "-DHAVE_SYS_TYPES_H=1"
PRIVATE "-DHAVE_SYS_STAT_H=1"
PRIVATE "-DHAVE_STDLIB_H=1"
PRIVATE "-DHAVE_STRING_H=1"
PRIVATE "-DHAVE_MEMORY_H=1"
PRIVATE "-DHAVE_STRINGS_H=1"
PRIVATE "-DHAVE_INTTYPES_H=1"
PRIVATE "-DHAVE_STDINT_H=1"
PRIVATE "-DHAVE_UNISTD_H=1"
PRIVATE "-DHAVE_DLFCN_H=1"
PRIVATE "-DHAVE_FDATASYNC=1"
PRIVATE "-DHAVE_USLEEP=1"
PRIVATE "-DHAVE_LOCALTIME_R=1"
PRIVATE "-DHAVE_GMTIME_R=1"
PRIVATE "-DHAVE_DECL_STRERROR_R=1"
PRIVATE "-DHAVE_STRERROR_R=1"
PRIVATE "-DHAVE_ZLIB_H=1"
PRIVATE "-D_REENTRANT=1"
PRIVATE "-DSQLITE_THREADSAFE=1"
PRIVATE "-DSQLITE_HAVE_ZLIB"

# These are disabled on purpose, since we're not using these features.
# PRIVATE "-DSQLITE_ENABLE_FTS5"
# PRIVATE "-DSQLITE_ENABLE_JSON1"
# PRIVATE "-DSQLITE_ENABLE_FTS3"
# PRIVATE "-DSQLITE_ENABLE_RTREE"
)

target_compile_options(sqlite
PRIVATE "-Wno-int-conversion"
)
6 changes: 4 additions & 2 deletions platform/android/config.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
set(USE_GLES2 ON)

include(cmake/nunicode.cmake)
include(cmake/sqlite.cmake)
include(cmake/icu.cmake)

# Build thin archives.
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cruT <TARGET> <LINK_FLAGS> <OBJECTS>")
Expand Down Expand Up @@ -45,10 +47,10 @@ macro(mbgl_platform_core)
target_add_mason_package(mbgl-core PUBLIC geojson)
target_add_mason_package(mbgl-core PUBLIC jni.hpp)
target_add_mason_package(mbgl-core PUBLIC rapidjson)
target_add_mason_package(mbgl-core PRIVATE icu)

target_link_libraries(mbgl-core
PRIVATE nunicode
PRIVATE icu
PUBLIC expected
PUBLIC -llog
PUBLIC -landroid
Expand All @@ -66,10 +68,10 @@ macro(mbgl_filesource)
# Modify platform/android/filesource-files.txt to change the source files for this target.
target_sources_from_file(mbgl-filesource PRIVATE platform/android/filesource-files.txt)

target_add_mason_package(mbgl-filesource PUBLIC sqlite)
target_add_mason_package(mbgl-filesource PUBLIC jni.hpp)

target_link_libraries(mbgl-filesource
PUBLIC sqlite
PUBLIC -llog
PUBLIC -landroid
PUBLIC -lstdc++
Expand Down
4 changes: 3 additions & 1 deletion platform/ios/config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ macro(initialize_ios_target target)
endmacro()


include(cmake/icu.cmake)
include(cmake/loop-darwin.cmake)
initialize_ios_target(icu)
initialize_ios_target(mbgl-loop-darwin)


Expand Down Expand Up @@ -61,14 +63,14 @@ macro(mbgl_platform_core)

target_add_mason_package(mbgl-core PUBLIC geojson)
target_add_mason_package(mbgl-core PUBLIC polylabel)
target_add_mason_package(mbgl-core PRIVATE icu)

target_include_directories(mbgl-core
PUBLIC platform/darwin
PUBLIC platform/default
)

target_link_libraries(mbgl-core
PRIVATE icu
PUBLIC "-lz"
PUBLIC "-framework Foundation"
PUBLIC "-framework CoreText"
Expand Down
8 changes: 8 additions & 0 deletions platform/ios/ios.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,8 @@
558DE7A11E5615E400C7916D /* MGLFoundation_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 558DE79E1E5615E400C7916D /* MGLFoundation_Private.h */; };
558DE7A21E5615E400C7916D /* MGLFoundation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 558DE79F1E5615E400C7916D /* MGLFoundation.mm */; };
558DE7A31E5615E400C7916D /* MGLFoundation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 558DE79F1E5615E400C7916D /* MGLFoundation.mm */; };
55CF752F213ED92000ED86C4 /* libicu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55CF752E213ED92000ED86C4 /* libicu.a */; };
55CF7531213ED92A00ED86C4 /* libicu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55CF7530213ED92A00ED86C4 /* libicu.a */; };
55D120A61F791007004B6D81 /* libmbgl-loop-darwin.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A71F791007004B6D81 /* libmbgl-loop-darwin.a */; };
55D120A81F79100C004B6D81 /* libmbgl-filesource.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A91F79100C004B6D81 /* libmbgl-filesource.a */; };
55E2AD131E5B125400E8C587 /* MGLOfflineStorageTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55E2AD121E5B125400E8C587 /* MGLOfflineStorageTests.mm */; };
Expand Down Expand Up @@ -972,6 +974,8 @@
556660D71E1D085500E2C41B /* MGLVersionNumber.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MGLVersionNumber.m; path = ../../darwin/test/MGLVersionNumber.m; sourceTree = "<group>"; };
558DE79E1E5615E400C7916D /* MGLFoundation_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLFoundation_Private.h; sourceTree = "<group>"; };
558DE79F1E5615E400C7916D /* MGLFoundation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLFoundation.mm; sourceTree = "<group>"; };
55CF752E213ED92000ED86C4 /* libicu.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libicu.a; sourceTree = BUILT_PRODUCTS_DIR; };
55CF7530213ED92A00ED86C4 /* libicu.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libicu.a; sourceTree = BUILT_PRODUCTS_DIR; };
55D120A71F791007004B6D81 /* libmbgl-loop-darwin.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libmbgl-loop-darwin.a"; sourceTree = BUILT_PRODUCTS_DIR; };
55D120A91F79100C004B6D81 /* libmbgl-filesource.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libmbgl-filesource.a"; sourceTree = BUILT_PRODUCTS_DIR; };
55D8C9941D0F133500F42F10 /* config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = config.xcconfig; path = ../../build/ios/config.xcconfig; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1357,6 +1361,7 @@
DAABF73D1CBC59BB005B1825 /* libmbgl-core.a in Frameworks */,
55D120A61F791007004B6D81 /* libmbgl-loop-darwin.a in Frameworks */,
55D120A81F79100C004B6D81 /* libmbgl-filesource.a in Frameworks */,
55CF752F213ED92000ED86C4 /* libicu.a in Frameworks */,
DA27C24E1CBB3811000B0ECD /* GLKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand All @@ -1368,6 +1373,7 @@
DAAE5F8720F046E60089D85B /* libmbgl-core.a in Frameworks */,
DAAE5F8920F047240089D85B /* libmbgl-filesource.a in Frameworks */,
DAAE5F8A20F0472E0089D85B /* libmbgl-loop-darwin.a in Frameworks */,
55CF7531213ED92A00ED86C4 /* libicu.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -1839,6 +1845,8 @@
DA1DC9921CB6DF24006E619F /* Frameworks */ = {
isa = PBXGroup;
children = (
55CF7530213ED92A00ED86C4 /* libicu.a */,
55CF752E213ED92000ED86C4 /* libicu.a */,
55D120A91F79100C004B6D81 /* libmbgl-filesource.a */,
55D120A71F791007004B6D81 /* libmbgl-loop-darwin.a */,
36F1153C1D46080700878E1A /* libmbgl-platform-ios.a */,
Expand Down
7 changes: 4 additions & 3 deletions platform/linux/config.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
include(cmake/nunicode.cmake)
include(cmake/sqlite.cmake)
include(cmake/icu.cmake)

add_library(mbgl-loop-uv STATIC
platform/default/async_task.cpp
Expand Down Expand Up @@ -80,11 +82,11 @@ macro(mbgl_platform_core)
target_add_mason_package(mbgl-core PUBLIC libpng)
target_add_mason_package(mbgl-core PUBLIC libjpeg-turbo)
target_add_mason_package(mbgl-core PUBLIC webp)
target_add_mason_package(mbgl-core PRIVATE icu)
target_add_mason_package(mbgl-core PUBLIC geojson)

target_link_libraries(mbgl-core
PRIVATE nunicode
PRIVATE icu
PUBLIC -lz
)

Expand All @@ -107,11 +109,10 @@ macro(mbgl_filesource)
PRIVATE platform/default/sqlite3.cpp
)

target_add_mason_package(mbgl-filesource PUBLIC sqlite)

# We're not referencing any cURL symbols since we're dynamically loading it. However, we want to
# link the library anyway since we're definitely going to load it on startup anyway.
target_link_libraries(mbgl-filesource
PUBLIC sqlite
PUBLIC -Wl,--no-as-needed -lcurl -Wl,--as-needed
)
endmacro()
Expand Down
3 changes: 2 additions & 1 deletion platform/macos/config.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.11)

include(cmake/icu.cmake)
include(cmake/loop-darwin.cmake)

macro(mbgl_platform_core)
Expand Down Expand Up @@ -55,7 +56,6 @@ macro(mbgl_platform_core)

target_add_mason_package(mbgl-core PUBLIC geojson)
target_add_mason_package(mbgl-core PUBLIC polylabel)
target_add_mason_package(mbgl-core PRIVATE icu)

target_compile_options(mbgl-core
PRIVATE -fobjc-arc
Expand All @@ -67,6 +67,7 @@ macro(mbgl_platform_core)
)

target_link_libraries(mbgl-core
PRIVATE icu
PUBLIC "-lz"
PUBLIC "-framework Foundation"
PUBLIC "-framework CoreText"
Expand Down
4 changes: 4 additions & 0 deletions platform/macos/macos.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
556660D61E1D07E400E2C41B /* MGLVersionNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 556660D51E1D07E400E2C41B /* MGLVersionNumber.m */; };
558DE7A61E56161C00C7916D /* MGLFoundation_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 558DE7A41E56161C00C7916D /* MGLFoundation_Private.h */; };
558DE7A71E56161C00C7916D /* MGLFoundation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 558DE7A51E56161C00C7916D /* MGLFoundation.mm */; };
55CF7533213EDADF00ED86C4 /* libicu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55CF7532213EDADF00ED86C4 /* libicu.a */; };
55D120A31F7906E6004B6D81 /* libmbgl-filesource.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A41F7906E6004B6D81 /* libmbgl-filesource.a */; };
55D120A51F790A0C004B6D81 /* libmbgl-filesource.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A41F7906E6004B6D81 /* libmbgl-filesource.a */; };
55E2AD111E5B0A6900E8C587 /* MGLOfflineStorageTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55E2AD101E5B0A6900E8C587 /* MGLOfflineStorageTests.mm */; };
Expand Down Expand Up @@ -378,6 +379,7 @@
556660D51E1D07E400E2C41B /* MGLVersionNumber.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MGLVersionNumber.m; path = ../../darwin/test/MGLVersionNumber.m; sourceTree = "<group>"; };
558DE7A41E56161C00C7916D /* MGLFoundation_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLFoundation_Private.h; sourceTree = "<group>"; };
558DE7A51E56161C00C7916D /* MGLFoundation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLFoundation.mm; sourceTree = "<group>"; };
55CF7532213EDADF00ED86C4 /* libicu.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libicu.a; sourceTree = BUILT_PRODUCTS_DIR; };
55D120A41F7906E6004B6D81 /* libmbgl-filesource.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libmbgl-filesource.a"; sourceTree = BUILT_PRODUCTS_DIR; };
55D9B4B01D005D3900C1CCE2 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
55E2AD101E5B0A6900E8C587 /* MGLOfflineStorageTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLOfflineStorageTests.mm; path = ../../darwin/test/MGLOfflineStorageTests.mm; sourceTree = "<group>"; };
Expand Down Expand Up @@ -672,6 +674,7 @@
5548BE781D09E718005DDE81 /* libmbgl-core.a in Frameworks */,
55D120A31F7906E6004B6D81 /* libmbgl-filesource.a in Frameworks */,
52B5D17F1E5E26DF00BBCB48 /* libmbgl-loop-darwin.a in Frameworks */,
55CF7533213EDADF00ED86C4 /* libicu.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -1064,6 +1067,7 @@
DAE6C31E1CC308BC00DB3429 /* Frameworks */ = {
isa = PBXGroup;
children = (
55CF7532213EDADF00ED86C4 /* libicu.a */,
55D120A41F7906E6004B6D81 /* libmbgl-filesource.a */,
5548BE7B1D0ACBBD005DDE81 /* libmbgl-loop-darwin.a */,
55D9B4B01D005D3900C1CCE2 /* libz.tbd */,
Expand Down
6 changes: 5 additions & 1 deletion platform/qt/config.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
include(platform/qt/qt.cmake)
include(cmake/nunicode.cmake)

if(NOT WITH_QT_I18N)
include(cmake/icu.cmake)
endif()

macro(mbgl_platform_core)
target_sources(mbgl-core
${MBGL_QT_CORE_FILES}
Expand Down Expand Up @@ -33,7 +37,7 @@ macro(mbgl_platform_core)

if(NOT WITH_QT_I18N)
target_sources(mbgl-core PRIVATE platform/default/bidi.cpp)
target_add_mason_package(mbgl-core PRIVATE icu)
target_link_libraries(mbgl-core PRIVATE icu)
else()
target_sources(mbgl-core PRIVATE platform/qt/src/bidi.cpp)
endif()
Expand Down
19 changes: 13 additions & 6 deletions scripts/vendor/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ CXX=${CXX:-clang++}
CC=${CC:-clang}

function download {
if [ ! -f "$VENDOR/.cache/$NAME-$VERSION.tar.gz" ]; then
if [ ! -f "$VENDOR/.cache/$NAME-$VERSION" ]; then
echo ">> Downloading $1..."
mkdir -p "$VENDOR/.cache"
curl --retry 3 -f -S -L $1 -o "$VENDOR/.cache/$NAME-$VERSION.tar.gz.tmp"
mv "$VENDOR/.cache/$NAME-$VERSION.tar.gz.tmp" "$VENDOR/.cache/$NAME-$VERSION.tar.gz"
curl --retry 3 -f -S -L $1 -o "$VENDOR/.cache/$NAME-$VERSION.tmp"
mv "$VENDOR/.cache/$NAME-$VERSION.tmp" "$VENDOR/.cache/$NAME-$VERSION"
fi
}

Expand All @@ -21,10 +21,17 @@ function init {
cd "$VENDOR/$NAME"
}

function extract {
echo ">> Unpacking files from $VENDOR/.cache/$NAME-$VERSION.tar.gz..."
function extract_gzip {
echo ">> Unpacking files from $VENDOR/.cache/$NAME-$VERSION..."
[ ! -z "$(tar --version | grep "GNU tar")" ] && WC="--wildcards" || WC=""
tar xzf "$VENDOR/.cache/$NAME-$VERSION.tar.gz" $WC --strip-components=${STRIP_COMPONENTS:-1} -C "$VENDOR/$NAME" $@
tar xzf "$VENDOR/.cache/$NAME-$VERSION" $WC --strip-components=${STRIP_COMPONENTS:-1} -C "$VENDOR/$NAME" $@
}

function extract_zip {
echo ">> Unpacking files from $VENDOR/.cache/$NAME-$VERSION..."
unzip -qq "$VENDOR/.cache/$NAME-$VERSION" $@ -d "$VENDOR/.cache/staging"
mv "$VENDOR/.cache/staging"/*/* "$VENDOR/$NAME"
rm -rf "$VENDOR/.cache/staging"
}

function file_list {
Expand Down
2 changes: 1 addition & 1 deletion scripts/vendor/expected.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ROOT=expected-lite-$VERSION

download "https://github.com/martinmoene/expected-lite/archive/$VERSION.tar.gz"
init
extract "$ROOT/include" "$ROOT/LICENSE.txt"
extract_gzip "$ROOT/include" "$ROOT/LICENSE.txt"
mv include/nonstd/expected.hpp include
rm -rf include/nonstd
file_list include -name "*.hpp"
2 changes: 1 addition & 1 deletion scripts/vendor/gtest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ROOT=googletest-release-1.8.0/googletest

download "https://github.com/google/googletest/archive/release-$VERSION.tar.gz"
init
STRIP_COMPONENTS=2 extract --exclude "gtest-all.cc" --exclude "gtest_main.cc" "$ROOT/include/*.h" "$ROOT/src" "$ROOT/LICENSE"
STRIP_COMPONENTS=2 extract_gzip --exclude "gtest-all.cc" --exclude "gtest_main.cc" "$ROOT/include/*.h" "$ROOT/src" "$ROOT/LICENSE"

for FILE in $(find include src -name "*.h" -o -name "*.cc"); do
sed -e 's/^#include \"src\/\([^\"]\{1,\}\)\"/#include "\1"/' \
Expand Down
Loading