Skip to content

Commit 04bf33a

Browse files
committed
giflib: Add openorienteering patches
Let CMake take care of portable building. Improve test rules portability.
1 parent 7d0f3bd commit 04bf33a

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

giflib-5.1.9.cmake

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ set(download_hash SHA256=292b10b86a87cb05f9dcbe1b6c7b99f3187a106132dd14f1ba79c9
3232
set(patch_version ${version}-1)
3333
set(patch_hash SHA256=fa7d879571e40ecbea6934f0fa3100a7cba0f7313c2de8ff61d62294970ad86d)
3434
set(base_url https://snapshot.debian.org/archive/debian/20191213T092546Z/pool/main/g/giflib/)
35+
set(openorienteering_version 5-0)
36+
set(openorienteering_hash SHA256=62468f100a97af2b7517b152d6cfdf6a790db79dc212376df3acbad2d8e35613)
3537

3638
option(USE_SYSTEM_LIBGIF "Use the system giflib if possible" ON)
3739

@@ -57,11 +59,21 @@ superbuild_package(
5759
URL_HASH ${patch_hash}
5860
)
5961

62+
superbuild_package(
63+
NAME giflib-openorienteering
64+
VERSION ${openorienteering_version}
65+
66+
SOURCE
67+
URL https://github.com/OpenOrienteering/superbuild/archive/giflib-openorienteering_${openorienteering_version}.tar.gz
68+
URL_HASH ${openorienteering_hash}
69+
)
70+
6071
superbuild_package(
6172
NAME giflib
62-
VERSION ${patch_version}
73+
VERSION ${patch_version}_${openorienteering_version}
6374
DEPENDS
6475
source:giflib-patches-${patch_version}
76+
source:giflib-openorienteering-${openorienteering_version}
6577

6678
SOURCE
6779
URL ${base_url}giflib_${version}.orig.tar.bz2
@@ -70,37 +82,32 @@ superbuild_package(
7082
"${CMAKE_COMMAND}"
7183
-Dpackage=giflib-patches-${patch_version}
7284
-P "${APPLY_PATCHES_SERIES}"
85+
COMMAND
86+
"${CMAKE_COMMAND}"
87+
-Dpackage=giflib-openorienteering-${openorienteering_version}
88+
-P "${APPLY_PATCHES_SERIES}"
7389

7490
USING USE_SYSTEM_LIBGIF patch_version
7591
BUILD_CONDITION ${test_system_gif}
7692
BUILD [[
77-
# Cannot do out-of-source build of giflib
78-
CONFIGURE_COMMAND
79-
"${CMAKE_COMMAND}" -E make_directory "${BINARY_DIR}"
80-
COMMAND
81-
"${CMAKE_COMMAND}" -E copy_directory "${SOURCE_DIR}" "${BINARY_DIR}"
82-
BUILD_COMMAND
83-
# The doc files exist, don't regenerate them here
84-
"$(MAKE)" -C doc --touch
85-
COMMAND
86-
"$(MAKE)"
87-
"PREFIX=${CMAKE_INSTALL_PREFIX}"
88-
"CC=${SUPERBUILD_CC}"
89-
"CPPFLAGS=${SUPERBUILD_CPPFLAGS}$<$<BOOL:@ANDROID@>: -DS_IREAD=S_IRUSR -DS_IWRITE=S_IWUSR>"
90-
"CFLAGS=${SUPERBUILD_CFLAGS} -fPIC"
91-
"LDFLAGS=${SUPERBUILD_LDFLAGS}"
93+
CMAKE_ARGS
94+
"-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
95+
-DBUILD_SHARED_LIBS=ON
96+
-DGIFLIB_BUILD_UTILS=OFF
9297
INSTALL_COMMAND
93-
"$(MAKE)" install "DESTDIR=${DESTDIR}${INSTALL_DIR}"
94-
"PREFIX=${CMAKE_INSTALL_PREFIX}"
98+
"${CMAKE_COMMAND}" --build . --target install/strip/fast
9599
COMMAND
96100
"${CMAKE_COMMAND}" -E copy_if_different
97101
"<SOURCE_DIR>/../giflib-patches-${patch_version}/copyright"
98102
"${DESTDIR}${CMAKE_STAGING_PREFIX}/share/doc/copyright/giflib-${patch_version}.txt"
103+
$<$<NOT:$<BOOL:@CMAKE_CROSSCOMPILING@>>:
104+
TEST_BEFORE_INSTALL
105+
>
99106
]]
100107
)
101108

102109
superbuild_package(
103110
NAME libgif
104111
VERSION ${patch_version}
105-
DEPENDS giflib-${patch_version}
112+
DEPENDS giflib-${patch_version}_${openorienteering_version}
106113
)

0 commit comments

Comments
 (0)