visualboyadvance-m/cmake
Rafael Kitover 61b503ada4 builder: update core dists and macOS build
cmake:

Add cmake option `DISABLE_MACOS_PACKAGE_MANAGERS` to disable
automatically using macOS Homebrew, MacPorts or Fink.

Use `-Ofast` instead of `-O2` for default compiler optimization flags,
which enables `-ffast-math` among a few other tweaks. There is a lot of
controversy about this, but in our testing on MSVC with `/fp:fast` the
performance increase for this specific app is dramatic.

Update version regexps on the SFML headers in `FindSFML.cmake` to allow
for a variable number of spaces between the macro and its definition.

Update the version of the Sparkle update checker framework for macOS
from 1.23.0 to 2.3.0-beta.2, and add a command to the cmake commands for
copying the framework to the `.app` to delete it first if already
copied.

Builder dist changes:

Updates:

dist                    old v                   new v
==============================================================
xz                      5.2.4                   5.2.6
openssl                 1.1.1f                  1.1.1g
curl                    7.65.3                  7.85.0
ccache                  3.4.3                   4.6.3
cmake                   3.19.4                  3.24.1
autoconf                2.69                    2.71
autoconf-archive        2017.09.28              2022.09.03
libtool                 2.4.6                   2.4.7
help2man                1.47.5                  1.49.2
libiconv                1.16                    1.17
gsed                    4.4                     4.8
bison                   3.0.5                   3.8.2
texinfo                 6.5                     6.8
flex                    e7d45afc                ea6493d9
libicu                  65_1                    71_1
nasm                    2.14.02                 2.15.05
pcre                    8.41                    8.45
libffi                  3.2.1                   3.4.2
libxml2                 2.9.12                  2.10.2
libxslt                 1.1.33-rc2              1.1.37
XML-SAX                 0.99                    1.02
expat                   2.2.4                   2.4.8
libjpeg-turbo           2.0.4                   2.1.4
libtiff                 4.1.0                   4.4.0
freetype                2.10.0                  2.12.1
libgd                   2.2.5                   2.3.3
liberation              2.0.1                   2.1.5
urw                     91edd6ec                20200910
graphviz                4bf0ec9b                5.0.1
python2                 2.7.15                  2.7.18
python3                 3.9.1                   3.10.6
swig                    3.0.12                  4.0.2
doxygen                 1.8.14                  1.9.5
bakefile                33c270a5                7a218d89
XML-Parser              2.44                    2.46
ninja                   1.9.0                   1.11.1
meson                   0.51.2                  0.63.2
glib                    2.62.2                  51251940
libgpg-error            1.41                    1.45
libgcrypt               1.8.5                   1.10.1
libsecret               0.19.1                  0.20.5
sdl2                    2.0.10                  2.24.0
flac                    1.3.3                   1.3.4
libogg                  1.3.4                   1.3.5
libvorbis               1.3.6                   1.3.7
harfbuzz                1.7.5                   5.1.0
sfml                    03375688                2.5.1
shared-mime-info        1.9                     2.2
wxwidgets               9cc0c9a0                31720e1e
graphite2               ce0e793f                425da3d0
xvidcore                1.3.5                   1.3.7
fribidi                 1.0.1                   1.0.12
libgsm                  1.0.18                  1.0.22
libmodplug              5a39f591                d1b97ed0
libopencore-amrnb       0.1.5                   0.1.6
snappy                  1.1.7                   af720f9a
speex                   1.2.0                   1.2.1
vidstab                 1.1.0                   90c76aca
libvo-amrwbenc          0.1.3                   3b3fcd0d
libass                  0.14.0                  0.16.0
libbluray               1.1.2                   1.3.2
libvpx                  1.8.1                   1.12.0
libx264                 20190913-2245           f7074e12
libxavs                 distrotech-xavs-git     8300fbf4
libzmq                  4.2.2                   4.3.4
ffmpeg                  4.3.1                   5.1.1

Removed dists:

dist            ver
=========================
zlib            1.2.11
pkgconfig       0.29.2
docbook5.0      5.0
libwavpack      5.1.0

Added dists:

dist            ver
========================
zlib-ng         ce01b1e4
zstd            1.5.2
hiredis         1.0.2
pkgconf         1.9.3
pcre2           10.40
docbook5.0.1    5.0.1
docbook5.1      5.1

Changes:

Update all non-working dist URLs.

Replace zlib 1.2.11 with a recent zlib-ng built with `--zlib-compat`.

Add zstd and hiredis, new deps of ccache.

Replace pkgconfig with pkgconf.

Use both pcre1 and pcre2.

Remove the libxml2-python dist alias and rebuild libxml2 `--with-python`
and `--with-python3` after python 2 and 3 have built.

Remove libwavpack as ffmpeg 5 no longer uses it as a dependency.

Builder core:

Rename some of the directories and files to be a bit nicer.

Add `-Ofast -march=core2 -mtune=generic -pipe` to the global
`{C,CXX,OBJC,LD}FLAGS`. These are the optimization settings used by
default in the project as well, while `-pipe` significantly reduces
build time by making the compiler use pipes internally.

Add `-DFLOAT_APPROX` to the global `{CPP,C,CXX,OBJC}FLAGS` because we
are now using `-Ofast` and consequently, `-ffast-math`.

Set the `LIBRARY_PATH` variable in the global environment.

Make some adjustments for the new dist versions and make some other
improvements.

macOS builder fixes (tested on High Sierra 10.13 and Catalina 10.15):

Add support for predefined BUILD_ROOT and append BUILD_ROOT_SUFFIX.

Allow pre-defined CHECKOUT directory for building the project sources.

Sanitize `PATH` before build to remove `/usr/local` etc., use
/usr/local/bin/brew explicitly for deps instead.

If llvm and clang is installed from nix or brew, prepend the path of the
highest version found to `PATH`.

Remove `-lm` from build environment as macOS has never had an `m` math
library and this causes problems in some config checks.

Add LLVM `libunwind` from the LLVM archive.

Add a patch for `glib`'s `meson.build` to statically link
`gettext`/`libintl`, adds `-liconv -framework CoreFoundation`.

Add an extra location to check for `stdint.h` in XCode.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-11-12 13:23:54 +00:00
..
Architecture.cmake Suffix zip files with arch + minor cmake fixes. 2021-10-31 08:55:48 -07:00
CMakeASM_NASMInformation.cmake cmake: remove <INCLUDES> from nasm definition 2019-02-22 15:11:01 +00:00
CMakeDetermineASM_NASMCompiler.cmake rename CMakeScripts/ to cmake/ 2017-09-13 20:30:33 -07:00
CMakeTestASM_NASMCompiler.cmake rename CMakeScripts/ to cmake/ 2017-09-13 20:30:33 -07:00
ChangeLogVersion.cmake cmake: fix reading version from changelog 2019-10-05 20:32:46 +00:00
FileIterator.cmake cmake: Make FileIterator more correct, add eg.. 2020-01-26 23:35:09 +00:00
FindDirectX.cmake rename CMakeScripts/ to cmake/ 2017-09-13 20:30:33 -07:00
FindFFmpeg.cmake cmake: Fix ffmpeg regression on Windows. 2020-01-23 01:49:44 +00:00
FindGettext.cmake update translations, add new langs from transifex 2018-08-11 16:18:15 -07:00
FindOpenAL.cmake rename CMakeScripts/ to cmake/ 2017-09-13 20:30:33 -07:00
FindSDL2.cmake build: fix finding static vcpkg SDL2 2022-10-09 04:00:26 +00:00
FindSFML.cmake builder: update core dists and macOS build 2022-11-12 13:23:54 +00:00
FindSSP.cmake cmake: refactor FindSSP.cmake 2019-02-16 13:04:43 -08:00
GetGitRevisionDescription.cmake rename CMakeScripts/ to cmake/ 2017-09-13 20:30:33 -07:00
GetGitRevisionDescription.cmake.in rename CMakeScripts/ to cmake/ 2017-09-13 20:30:33 -07:00
GitTagVersion.cmake add mac release builder script 2017-10-12 01:32:18 -07:00
HostCompile.cmake cmake: fix linking to libssp and linking bin2c 2019-10-17 21:53:15 +00:00
LLVMToolchain.cmake support FreeBSD 2019-04-25 16:22:07 +00:00
MacPackageManagers.cmake rename CMakeScripts/ to cmake/ 2017-09-13 20:30:33 -07:00
MakeReleaseCommitAndTag.cmake cmake: Add UPDATE_APPCAST script for appcast.xml. 2020-02-08 22:53:53 +00:00
PathRun.cmake cmake: Silence cmake policy warning CMP0058. 2019-10-05 18:33:44 -07:00
Set-Toolchain-vcpkg.cmake [build] Add basic clang-cl support 2022-10-15 22:25:34 +00:00
SetCompilerLinkerFlags.cmake [build] Add basic clang-cl support 2022-10-15 22:25:34 +00:00
Toolchain-cross-MinGW-w64-common.cmake builder: minor fixes for mingw. 2020-02-02 03:35:26 +00:00
Toolchain-cross-MinGW-w64-i686-static.cmake builder: minor fixes for mingw. 2020-02-02 03:35:26 +00:00
Toolchain-cross-MinGW-w64-i686.cmake builder: minor fixes for mingw. 2020-02-02 03:35:26 +00:00
Toolchain-cross-MinGW-w64-x86_64-static.cmake builder: minor fixes for mingw. 2020-02-02 03:35:26 +00:00
Toolchain-cross-MinGW-w64-x86_64.cmake builder: minor fixes for mingw. 2020-02-02 03:35:26 +00:00
Toolchain-cross-m32.cmake cmake: fix finding 32 bit wxWidgets on gentoo 2019-02-22 08:50:04 -08:00
UpdateAppcast.cmake [Windows,MacOS] Auto-updater refactoring. (#639) 2020-05-07 23:06:00 -03:00
UseGCCBinUtilsWrappers.cmake work around gcc lto wrappers bug with gcc 7.x 2017-09-16 19:47:39 -07:00
VbamFunctions.cmake Fix Wx OpenGL and ABI checks for MSYS2 CLANG64. 2022-02-05 01:00:25 +00:00
doctest.cmake Replace Catch2 with doctest for unit tests. 2020-08-28 05:14:22 +00:00
doctestAddTests.cmake Replace Catch2 with doctest for unit tests. 2020-08-28 05:14:22 +00:00