Skip to content

Commit ecdf19b

Browse files
committed
WIP: Merge branch 'dg0yt' into latest
2 parents 145706f + 9bc1dde commit ecdf19b

File tree

3 files changed

+148
-52
lines changed

3 files changed

+148
-52
lines changed

bison-3.7.2.cmake

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# This file is part of OpenOrienteering.
2+
3+
# Copyright 2020 Kai Pastor
4+
#
5+
# Redistribution and use is allowed according to the terms of the BSD license:
6+
#
7+
# Redistribution and use in source and binary forms, with or without
8+
# modification, are permitted provided that the following conditions
9+
# are met:
10+
#
11+
# 1. Redistributions of source code must retain the copyright
12+
# notice, this list of conditions and the following disclaimer.
13+
# 2. Redistributions in binary form must reproduce the copyright
14+
# notice, this list of conditions and the following disclaimer in the
15+
# documentation and/or other materials provided with the distribution.
16+
# 3. The name of the author may not be used to endorse or promote products
17+
# derived from this software without specific prior written permission.
18+
#
19+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20+
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21+
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23+
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24+
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28+
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
30+
set(version 3.7.2+dfsg)
31+
set(download_hash SHA256=7d9dfcb129e4004915d1099c034184027b21e95ef18bda8adb65457ada217c45)
32+
set(patch_version ${version}-1)
33+
set(patch_hash SHA256=fd0514a4effe94864aa3a51bbb47ed36bc597cbebac83b27722632c0bbb0dc2a)
34+
set(base_url https://snapshot.debian.org/archive/debian/20200907T204912Z/pool/main/b/bison/)
35+
36+
option(USE_SYSTEM_BISON "Use the system Bison if possible" ON)
37+
38+
set(test_system_bison [[
39+
if(${USE_SYSTEM_BISON})
40+
enable_language(C)
41+
# Doxygen 1.8.x needs at least Bison 2.7
42+
find_package(BISON 2.7 QUIET)
43+
string(FIND "${BISON_EXECUTABLE}" "${CMAKE_STAGING_PREFIX}/" staging_prefix_start)
44+
if(BISON_EXECUTABLE AND NOT staging_prefix_start EQUAL 0)
45+
message(STATUS "Found ${SYSTEM_NAME} Bison: ${BISON_EXECUTABLE} (${BISON_VERSION})")
46+
set(BUILD_CONDITION 0)
47+
endif()
48+
if(BISON_VERSION AND BISON_VERSION VERSION_LESS 2.7)
49+
message(WARNING "Ignoring ${SYSTEM_NAME} Bison (< 2.7)")
50+
set(BUILD_CONDITION 1)
51+
endif()
52+
endif()
53+
]])
54+
55+
set(bison_texi [[
56+
@setfilename bison.info
57+
]])
58+
59+
superbuild_package(
60+
NAME bison-patches
61+
VERSION ${patch_version}
62+
63+
SOURCE
64+
URL ${base_url}bison_${patch_version}.debian.tar.xz
65+
URL_HASH ${patch_hash}
66+
)
67+
68+
superbuild_package(
69+
NAME bison
70+
VERSION ${patch_version}
71+
DEPENDS
72+
source:bison-patches-${patch_version}
73+
74+
SOURCE_WRITE
75+
bison.texi bison_texi
76+
SOURCE
77+
URL ${base_url}bison_${version}.orig.tar.xz
78+
URL_HASH ${download_hash}
79+
PATCH_COMMAND
80+
"${CMAKE_COMMAND}"
81+
-Dpackage=bison-patches-${patch_version}
82+
-P "${APPLY_PATCHES_SERIES}"
83+
# Fix the issues resulting from Debian DFSG tarball and patching
84+
COMMAND
85+
"${CMAKE_COMMAND}"
86+
-E copy bison.texi doc/bison.texi
87+
COMMAND
88+
touch -r doc/local.mk doc/bison.texi
89+
COMMAND
90+
touch -r doc/local.mk examples/c/lexcalc/local.mk
91+
COMMAND
92+
touch -r doc/local.mk examples/local.mk
93+
94+
USING USE_SYSTEM_BISON patch_version
95+
BUILD_CONDITION ${test_system_bison}
96+
BUILD [[
97+
CONFIGURE_COMMAND
98+
"${SOURCE_DIR}/configure"
99+
"--prefix=${CMAKE_INSTALL_PREFIX}"
100+
$<$<BOOL:@CMAKE_CROSSCOMPILING@>:
101+
--host=${SUPERBUILD_TOOLCHAIN_TRIPLET}
102+
>
103+
--enable-relocatable
104+
--disable-nls
105+
--disable-silent-rules
106+
"CC=${SUPERBUILD_CC}"
107+
"CXX=${SUPERBUILD_CXX}"
108+
"CPPFLAGS=${SUPERBUILD_CPPFLAGS}"
109+
"CFLAGS=${SUPERBUILD_CFLAGS}"
110+
"CXXFLAGS=${SUPERBUILD_CXXFLAGS}"
111+
"LDFLAGS=${SUPERBUILD_LDFLAGS}"
112+
INSTALL_COMMAND
113+
"$(MAKE)" install "DESTDIR=${DESTDIR}${INSTALL_DIR}"
114+
COMMAND
115+
"${CMAKE_COMMAND}" -E copy
116+
"<SOURCE_DIR>/../bison-patches-${patch_version}/copyright"
117+
"${DESTDIR}${CMAKE_STAGING_PREFIX}/share/doc/copyright/bison-${patch_version}.txt"
118+
]]
119+
)

doxygen-1.8.13.cmake renamed to doxygen-1.8.20.cmake

Lines changed: 19 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2828
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2929

30-
set(version 1.8.13)
31-
set(download_hash SHA256=af667887bd7a87dc0dbf9ac8d86c96b552dfb8ca9c790ed1cbffaa6131573f6b)
32-
set(patch_version ${version}-10)
33-
set(patch_hash SHA256=e4fb3fa4266998c4192dcdbb1efb563360f1f009d9a80d445721d526de4f9482)
34-
set(base_url https://snapshot.debian.org/archive/debian/20180312T232337Z/pool/main/d/doxygen/)
30+
set(version 1.8.20)
31+
set(download_hash SHA256=3dbdf8814d6e68233d5149239cb1f0b40b4e7b32eef2fd53de8828fedd7aca15)
32+
set(patch_version ${version}-1)
33+
set(patch_hash SHA256=16271cdae86fcda19f5078442e49148db48f087c046da517641230408b2702ae)
34+
set(base_url https://snapshot.debian.org/archive/debian/20200914T084139Z/pool/main/d/doxygen/)
3535

3636
option(USE_SYSTEM_DOXYGEN "Use the system DOXYGEN if possible" ON)
3737

@@ -45,50 +45,15 @@ set(test_system_doxygen [[
4545
endif()
4646
endif()
4747
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
48-
set(extra_flags "-Wno-tautological-constant-out-of-range-compare -Wno-deprecated-declarations" PARENT_SCOPE)
48+
set(extra_flags "-Wno-return-type -Wno-tautological-constant-out-of-range-compare" PARENT_SCOPE)
4949
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
50-
set(extra_flags "-Wno-return-type -Wno-deprecated" PARENT_SCOPE)
50+
set(extra_flags "-Wno-return-type -Wno-write-strings" PARENT_SCOPE)
5151
else()
5252
set(extra_flags "" PARENT_SCOPE)
5353
endif()
5454
]])
5555

5656

57-
# Fix mingw64 builds
58-
# https://github.com/msys2/MINGW-packages/blob/b99b3d396d8d3dfcee41548d1b96729464bde4e5/mingw-w64-doxygen/fix-casts.patch
59-
set(fix-casts_patch [[
60-
--- doxygen-1.8.6/qtools/qcstring.cpp.orig 2013-05-19 19:12:31.000000000 +0400
61-
+++ doxygen-1.8.6/qtools/qcstring.cpp 2014-04-04 06:54:07.313800000 +0400
62-
@@ -476,7 +476,7 @@
63-
if ( to > first && *(to-1) == 0x20 )
64-
to--;
65-
*to = '\0';
66-
- result.resize( (int)((long)to - (long)result.data()) + 1 );
67-
+ result.resize( (int)(reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(result.data())) + 1 );
68-
return result;
69-
}
70-
71-
@@ -717,7 +717,7 @@
72-
int res;
73-
uchar c;
74-
if ( !s1 || !s2 )
75-
- return s1 == s2 ? 0 : (int)((long)s2 - (long)s1);
76-
+ return s1 == s2 ? 0 : (int)(reinterpret_cast<intptr_t>(s2) - reinterpret_cast<intptr_t>(s1));
77-
for ( ; !(res = (c=tolower(*s1)) - tolower(*s2)); s1++, s2++ )
78-
if ( !c ) // strings are equal
79-
break;
80-
@@ -731,7 +731,7 @@
81-
int res;
82-
uchar c;
83-
if ( !s1 || !s2 )
84-
- return (int)((long)s2 - (long)s1);
85-
+ return (int)(reinterpret_cast<uintptr_t>(s2) - reinterpret_cast<uintptr_t>(s1));
86-
for ( ; len--; s1++, s2++ ) {
87-
if ( (res = (c=tolower(*s1)) - tolower(*s2)) )
88-
return res;
89-
]])
90-
91-
9257
superbuild_package(
9358
NAME doxygen-patches
9459
VERSION ${patch_version}
@@ -103,33 +68,36 @@ superbuild_package(
10368
VERSION ${patch_version}
10469
DEPENDS
10570
source:doxygen-patches-${patch_version}
71+
host:bison
10672
libiconv
10773
zlib
10874

10975
SOURCE
11076
URL ${base_url}doxygen_${version}.orig.tar.gz
11177
URL_HASH ${download_hash}
112-
11378
PATCH_COMMAND
114-
patch -p1 -i fix-casts.patch
79+
"${CMAKE_COMMAND}"
80+
-Dpackage=doxygen-patches-${patch_version}
81+
-P "${APPLY_PATCHES_SERIES}"
11582
COMMAND
116-
sed -i -e "/set.ICONV_DIR/d" CMakeLists.txt
83+
sed -e "/set.YACC_FLAGS/ s/set.*/set(YACC_FLAGS -Wno-deprecated)/" -i --
84+
CMakeLists.txt
11785
COMMAND
118-
sed -i -e "/bigobj/d" CMakeLists.txt
86+
sed -e "/BISON_EXECUTABLE/ s/ -o / -Wno-deprecated -o /" -i --
87+
CMakeLists.txt
11988
COMMAND
120-
sed -i -e "s/mmacosx-version-min=10.5/mmacosx-version-min=10.11/" CMakeLists.txt
121-
122-
SOURCE_WRITE
123-
fix-casts.patch fix-casts_patch
89+
sed -e "/set.PROJECT_WARNINGS/ s/set.*/set(PROJECT_WARNINGS )/" -i --
90+
cmake/CompilerWarnings.cmake
12491

12592
USING USE_SYSTEM_DOXYGEN patch_version extra_flags
12693
BUILD_CONDITION ${test_system_doxygen}
12794
BUILD [[
12895
CMAKE_ARGS
12996
"-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
97+
"-DCMAKE_BUILD_TYPE=Release"
13098
"-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} ${extra_flags}"
13199
"-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ${extra_flags}"
132-
-Denglish_only=1
100+
-Denglish_only=1
133101
INSTALL_COMMAND
134102
"${CMAKE_COMMAND}" --build . --target install/strip/fast
135103
COMMAND

libwebp-1.1.0.cmake

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ set(test_system_libwebp [[
4343
set(BUILD_CONDITION 0)
4444
endif()
4545
endif()
46+
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
47+
set(extra_flags "-Wno-unused-command-line-argument" PARENT_SCOPE)
48+
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
49+
set(extra_flags "" PARENT_SCOPE)
50+
else()
51+
set(extra_flags "" PARENT_SCOPE)
52+
endif()
4653
]])
4754

4855
superbuild_package(
@@ -58,12 +65,14 @@ superbuild_package(
5865
URL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${version}.tar.gz
5966
URL_HASH ${download_hash}
6067

61-
USING USE_SYSTEM_LIBWEBP patch_version
68+
USING USE_SYSTEM_LIBWEBP patch_version extra_flags
6269
BUILD_CONDITION ${test_system_libwebp}
6370
BUILD [[
6471
CMAKE_ARGS
6572
"-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
6673
"-DCMAKE_BUILD_TYPE:STRING=$<CONFIG>"
74+
"-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} ${extra_flags}"
75+
"-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ${extra_flags}"
6776
-DBUILD_SHARED_LIBS=ON
6877
-DWEBP_BUILD_ANIM_UTILS=OFF
6978
-DWEBP_BUILD_CWEBP=OFF

0 commit comments

Comments
 (0)