From 24c2de405fcfe3171adc71b19b8600455eb00e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Wed, 5 May 2021 14:02:05 +0200 Subject: [PATCH] Improve xmake build --- .gitignore | 3 ++- examples/DopplerEffect/build.lua | 14 -------------- examples/DopplerEffect/xmake.lua | 5 +++++ examples/GraphicsTest/build.lua | 16 ---------------- examples/GraphicsTest/xmake.lua | 5 +++++ examples/RenderTest/build.lua | 15 --------------- examples/RenderTest/xmake.lua | 5 +++++ plugins/Assimp/xmake.lua | 13 +++++++++++++ thirdparty/xmake.lua | 4 ++++ xmake.lua | 31 ++++++++++--------------------- 10 files changed, 44 insertions(+), 67 deletions(-) delete mode 100644 examples/DopplerEffect/build.lua create mode 100644 examples/DopplerEffect/xmake.lua delete mode 100644 examples/GraphicsTest/build.lua create mode 100644 examples/GraphicsTest/xmake.lua delete mode 100644 examples/RenderTest/build.lua create mode 100644 examples/RenderTest/xmake.lua create mode 100644 plugins/Assimp/xmake.lua create mode 100644 thirdparty/xmake.lua diff --git a/.gitignore b/.gitignore index 2be738494..387acfa4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # xmake-related files -.xmake +.xmake/* +.vscode/* CMakeLists.txt Makefile vs/* diff --git a/examples/DopplerEffect/build.lua b/examples/DopplerEffect/build.lua deleted file mode 100644 index 837f62af4..000000000 --- a/examples/DopplerEffect/build.lua +++ /dev/null @@ -1,14 +0,0 @@ -EXAMPLE.Name = "DopplerEffect" - -EXAMPLE.EnableConsole = true - -EXAMPLE.Files = { - "main.cpp" -} - -EXAMPLE.Libraries = { - "NazaraAudio", - "NazaraCore", - "NazaraPlatform", - "NazaraUtility" -} diff --git a/examples/DopplerEffect/xmake.lua b/examples/DopplerEffect/xmake.lua new file mode 100644 index 000000000..42fd66ae2 --- /dev/null +++ b/examples/DopplerEffect/xmake.lua @@ -0,0 +1,5 @@ +target("DopplerEffect") + set_group("Examples") + set_kind("binary") + add_deps("NazaraAudio", "NazaraPlatform") + add_files("main.cpp") \ No newline at end of file diff --git a/examples/GraphicsTest/build.lua b/examples/GraphicsTest/build.lua deleted file mode 100644 index 170d65770..000000000 --- a/examples/GraphicsTest/build.lua +++ /dev/null @@ -1,16 +0,0 @@ -EXAMPLE.Name = "GraphicsTest" - -EXAMPLE.EnableConsole = true - -EXAMPLE.Files = { - "main.cpp" -} - -EXAMPLE.Libraries = { - "NazaraCore", - "NazaraGraphics", - "NazaraPlatform", - "NazaraRenderer", - "NazaraShader", - "NazaraUtility" -} diff --git a/examples/GraphicsTest/xmake.lua b/examples/GraphicsTest/xmake.lua new file mode 100644 index 000000000..f2c4d0741 --- /dev/null +++ b/examples/GraphicsTest/xmake.lua @@ -0,0 +1,5 @@ +target("GraphicsTest") + set_group("Examples") + set_kind("binary") + add_deps("NazaraGraphics") + add_files("main.cpp") \ No newline at end of file diff --git a/examples/RenderTest/build.lua b/examples/RenderTest/build.lua deleted file mode 100644 index dc1eedcb4..000000000 --- a/examples/RenderTest/build.lua +++ /dev/null @@ -1,15 +0,0 @@ -EXAMPLE.Name = "RenderTest" - -EXAMPLE.EnableConsole = true - -EXAMPLE.Files = { - "main.cpp" -} - -EXAMPLE.Libraries = { - "NazaraCore", - "NazaraPlatform", - "NazaraRenderer", - "NazaraShader", - "NazaraUtility" -} diff --git a/examples/RenderTest/xmake.lua b/examples/RenderTest/xmake.lua new file mode 100644 index 000000000..0e11edc47 --- /dev/null +++ b/examples/RenderTest/xmake.lua @@ -0,0 +1,5 @@ +target("RenderTest") + set_group("Examples") + set_kind("binary") + add_deps("NazaraRenderer") + add_files("main.cpp") \ No newline at end of file diff --git a/plugins/Assimp/xmake.lua b/plugins/Assimp/xmake.lua new file mode 100644 index 000000000..c2a7cc1b6 --- /dev/null +++ b/plugins/Assimp/xmake.lua @@ -0,0 +1,13 @@ +add_requires("assimp") + +target("PluginAssimp") + set_kind("shared") + set_group("Plugins") + + add_deps("NazaraUtility") + add_packages("assimp") + + add_headerfiles("**.hpp") + add_headerfiles("**.inl") + add_includedirs(".") + add_files("**.cpp") diff --git a/thirdparty/xmake.lua b/thirdparty/xmake.lua new file mode 100644 index 000000000..e9f8822da --- /dev/null +++ b/thirdparty/xmake.lua @@ -0,0 +1,4 @@ +target("stb_image") + set_kind("static") + set_group("Thirdparties") + add_files("src/stb/*.cpp") diff --git a/xmake.lua b/xmake.lua index 3fbbfbcb5..acf4745c4 100644 --- a/xmake.lua +++ b/xmake.lua @@ -13,6 +13,11 @@ local modules = { if is_plat("windows") then add_syslinks("ws2_32") end + + if is_plat("linux") then + del_files("src/Nazara/Network/Posix/SocketPollerImpl.hpp") + del_files("src/Nazara/Network/Posix/SocketPollerImpl.cpp") + end end }, OpenGLRenderer = { @@ -79,8 +84,7 @@ local modules = { } } -add_requires("assimp", "chipmunk2d", "libsndfile") -add_requires("freetype", "libsdl", { configs = { shared = true }}) +add_requires("chipmunk2d", "freetype", "libsndfile", "libsdl") add_requires("newtondynamics", { debug = is_mode("debug") }) set_project("NazaraEngine") @@ -97,7 +101,6 @@ add_sysincludedirs("thirdparty/include") set_languages("c89", "cxx17") set_rundir("./bin/$(os)_$(arch)_$(mode)") -set_runtimes(is_mode("debug") and "MDd" or "MD") set_symbols("debug", "hidden") set_targetdir("./bin/$(os)_$(arch)_$(mode)") set_warnings("allextra") @@ -108,6 +111,8 @@ if is_mode("releasedbg") then end if is_plat("windows") then + set_runtimes(is_mode("debug") and "MDd" or "MD") + add_defines("_CRT_SECURE_NO_WARNINGS") add_cxxflags("/bigobj", "/permissive-", "/Zc:__cplusplus", "/Zc:referenceBinding", "/Zc:throwingNew") add_cxxflags("/FC") @@ -115,10 +120,7 @@ if is_plat("windows") then add_cxflags("/wd4251") -- Disable warning: class needs to have dll-interface to be used by clients of class blah blah blah end -target("stb_image") - set_kind("static") - set_group("Thirdparties") - add_files("thirdparty/src/stb/*.cpp") +includes("thirdparty/xmake.lua") for name, module in pairs(modules) do target("Nazara" .. name) @@ -161,20 +163,7 @@ for name, module in pairs(modules) do end end -target("PluginAssimp") - set_kind("shared") - set_group("Plugins") - - add_deps("NazaraUtility") - add_packages("assimp") - - add_headerfiles("plugins/Assimp/**.hpp") - add_headerfiles("plugins/Assimp/**.inl") - add_includedirs("plugins/Assimp") - add_files("plugins/Assimp/**.cpp") - -target_end() - +includes("plugins/*/xmake.lua") includes("examples/*/xmake.lua") rule("debug_suffix")