Fix macOS compilation (#384)

Disable X11 on macOS, I don't know why it's enabled
This commit is contained in:
Jérôme Leclercq 2022-11-19 13:37:42 +01:00 committed by GitHub
parent 5ca2cf9320
commit 082015a0c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 10 deletions

View File

@ -63,7 +63,7 @@ jobs:
# Setup compilation mode and install project dependencies # Setup compilation mode and install project dependencies
- name: Configure xmake and install dependencies - name: Configure xmake and install dependencies
run: xmake config --arch=${{ matrix.arch }} --mode=${{ matrix.mode }} --ccache=n --ffmpeg=y --shadernodes=y --tests=y --unitybuild=y --yes -vD run: xmake config --arch=${{ matrix.arch }} --mode=${{ matrix.mode }} --ccache=n --ffmpeg=y --shadernodes=y --tests=y --unitybuild=y --yes
# Build the engine # Build the engine
- name: Build Nazara - name: Build Nazara

View File

@ -92,7 +92,7 @@ jobs:
# Setup compilation mode and install project dependencies # Setup compilation mode and install project dependencies
- name: Configure xmake and install dependencies - name: Configure xmake and install dependencies
run: xmake config --arch=${{ matrix.arch }} --mode=${{ matrix.mode }} --ccache=n --ffmpeg=y --shadernodes=y --tests=y --unitybuild=y --yes --verbose --diagnosis --policies=package.include_external_headers:n run: xmake config --arch=${{ matrix.arch }} --mode=${{ matrix.mode }} --ccache=n --ffmpeg=y --shadernodes=y --tests=y --unitybuild=y --yes --policies=package.include_external_headers:n
# Build the engine # Build the engine
- name: Build Nazara - name: Build Nazara

View File

@ -13,6 +13,13 @@
#include <Nazara/Platform/SDL2/SDLHelper.hpp> #include <Nazara/Platform/SDL2/SDLHelper.hpp>
#include <Nazara/Utility/Image.hpp> #include <Nazara/Utility/Image.hpp>
#include <SDL.h> #include <SDL.h>
#ifdef NAZARA_PLATFORM_MACOS
// I'm not sure why, but SDL_VIDEO_DRIVER_X11 is automatically defined here by SDL_config.h
// This is problematic as it requires X11/X.h which is not present (adding libxext/libx11/xorgproto packages didn't help)
#undef SDL_VIDEO_DRIVER_X11
#endif
#include <SDL_syswm.h> #include <SDL_syswm.h>
#include <Utfcpp/utf8.h> #include <Utfcpp/utf8.h>
#include <cstdio> #include <cstdio>

View File

@ -27,7 +27,7 @@ local rendererBackends = {
elseif is_plat("linux") then elseif is_plat("linux") then
add_defines("VK_USE_PLATFORM_XLIB_KHR") add_defines("VK_USE_PLATFORM_XLIB_KHR")
add_defines("VK_USE_PLATFORM_WAYLAND_KHR") add_defines("VK_USE_PLATFORM_WAYLAND_KHR")
add_packages("xorgproto", "libx11", "wayland", { links = {} }) -- we only need X11 and waylands headers add_packages("libxext", "wayland", { links = {} }) -- we only need X11 and waylands headers
elseif is_plat("macosx") then elseif is_plat("macosx") then
add_defines("VK_USE_PLATFORM_METAL_EXT") add_defines("VK_USE_PLATFORM_METAL_EXT")
add_files("src/Nazara/VulkanRenderer/**.mm") add_files("src/Nazara/VulkanRenderer/**.mm")
@ -96,10 +96,9 @@ local modules = {
elseif is_plat("linux") then elseif is_plat("linux") then
add_defines("SDL_VIDEO_DRIVER_X11=1") add_defines("SDL_VIDEO_DRIVER_X11=1")
add_defines("SDL_VIDEO_DRIVER_WAYLAND=1") add_defines("SDL_VIDEO_DRIVER_WAYLAND=1")
add_packages("xorgproto", "libx11", { links = {} }) -- we only need X11 headers add_packages("libxext", "wayland", { links = {} }) -- we only need X11 headers
elseif is_plat("macosx") then elseif is_plat("macosx") then
add_defines("SDL_VIDEO_DRIVER_COCOA=1") add_defines("SDL_VIDEO_DRIVER_COCOA=1")
add_packages("xorgproto", "libx11", { links = {} }) -- we only need X11 headers
end end
end end
}, },
@ -162,11 +161,8 @@ add_repositories("nazara-engine-repo https://github.com/NazaraEngine/xmake-repo"
add_requires("nazarautils") add_requires("nazarautils")
add_requires("nzsl", { debug = is_mode("debug"), configs = { with_symbols = not is_mode("release"), shared = true } }) add_requires("nzsl", { debug = is_mode("debug"), configs = { with_symbols = not is_mode("release"), shared = true } })
if is_plat("linux", "macosx") then if is_plat("linux") then
add_requires("xorgproto", "libx11") add_requires("libxext", "libuuid", "wayland")
if is_plat("linux") then
add_requires("libuuid", "wayland")
end
end end
add_rules("mode.asan", "mode.tsan", "mode.coverage", "mode.debug", "mode.releasedbg", "mode.release") add_rules("mode.asan", "mode.tsan", "mode.coverage", "mode.debug", "mode.releasedbg", "mode.release")