Build on macOS Tahoe (Apple silicon)

Toolchains for building:

  • Apple clang version 21.0.0 (clang-2100.0.123.102)

  • GNU Make 3.81

  • cmake version 4.3.2

Download sources:

$ curl -LO https://github.com/wxWidgets/wxWidgets/releases/download/v3.3.2/wxWidgets-3.3.2.tar.bz2

Extract sources:

$ tar -C ~/workspace/devel/ -xjf wxWidgets-3.3.2.tar.bz2
$ cd ~/workspace/devel/wxWidgets-3.3.2

Release

$ cmake -S . -B build-arm64-darwin-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~
-- The C compiler identification is AppleClang 21.0.0.21000099
-- The CXX compiler identification is AppleClang 21.0.0.21000099
-- The OBJCXX compiler identification is AppleClang 21.0.0.21000099

-- Which libraries should wxWidgets use?
    wxUSE_REGEX:      builtin  (enable support for wxRegEx class)
    wxUSE_ZLIB:       sys      (use zlib for LZW compression)
    wxUSE_EXPAT:      sys      (use expat for XML parsing)
    wxUSE_LIBJPEG:    builtin  (use libjpeg (JPEG file format))
    wxUSE_LIBPNG:     builtin  (use libpng (PNG image format))
    wxUSE_LIBTIFF:    builtin  (use libtiff (TIFF file format))
    wxUSE_LIBWEBP:    builtin  (use libwebp (WebP file format))
    wxUSE_NANOSVG:    builtin  (use NanoSVG for rasterizing SVG)
    wxUSE_LUNASVG:    OFF      (use LunaSVG for rasterizing SVG (C++17 minimum))
    wxUSE_LIBLZMA:    OFF      (use liblzma for LZMA compression)
    wxUSE_LIBSDL:     OFF      (use SDL for audio on Unix)
    wxUSE_LIBMSPACK:  OFF      (use libmspack (CHM help files loading))
    wxUSE_WEBVIEW:    ON       (enable wxWebview with WebKit)

-- Configured wxWidgets 3.3.2 for Darwin
    Min OS Version required at runtime:                macOS 10.10 arm64
    Which GUI toolkit should wxWidgets use?            osx_cocoa  
    Should wxWidgets be compiled into single library?  OFF
    Should wxWidgets be linked as a shared library?    ON
    Which wxWidgets API compatibility should be used?  3.2
-- Configuring done (11.1s)
-- Generating done (0.2s)
-- Build files have been written to: /Users/xxxx/workspace/devel/wxWidgets-3.3.2/build-arm64-darwin-release
$ cd build-arm64-darwin-release
$ cmake --build . --target install

Note

RPATH for wxrc need to be fixed:

$ install_name_tool -add_rpath "@executable_path/../lib" ~/bin/wxrc

wx-config is used by CMake to find wxWidgets on Unix-like system, so set the path:

export PATH="${PATH}:${HOME}/bin"

Check the version:

$ wx-config --version-full
3.3.2.0

Debug

$ cmake -S . -B build-arm64-darwin-debug -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=~/workspace/devel

-- Build files have been written to: /Users/xxxx/workspace/devel/wxWidgets-3.3.1/build-x86_64-darwin-debug
$ cd build-arm64-darwin-debug
$ cmake --build . --target install