diff --git a/xmake.lua b/xmake.lua index e7aa116..e3521c9 100644 --- a/xmake.lua +++ b/xmake.lua @@ -1,12 +1,7 @@ add_rules("mode.debug", "mode.release") -if is_os("linux") then - GL_LOADER = "glad" - add_defines("TD_IMPL_OPENGL_LOADER_GLAD"); - add_requires("libsdl >= 2", "zlib", GL_LOADER) -else - add_defines("TD_IMPL_OPENGL_LOADER_GLBINDING2"); -end +add_defines("TD_IMPL_OPENGL_LOADER_GLEW"); +add_requires("libsdl >= 2", "zlib", "glew") target("TowerDefense") set_kind("binary") @@ -18,10 +13,10 @@ target("TowerDefense") set_languages("c++17") + add_packages("zlib", "libsdl", "glew", "opengl") + if is_os("windows") then - add_links("opengl32", "ws2_32", "mingw32", "gdi32", "imm32", "z", "SDL2", "glbinding") - else - add_packages("zlib", "libsdl", GL_LOADER, "opengl") + add_links("ws2_32") -- link network stuff end if is_mode("release") then @@ -35,11 +30,7 @@ target("TowerDefense") set_optimize("smallest") - if is_os("windows") then - add_ldflags("-static-libgcc", "-static-libstdc++", "-pthread") - end - - else + else -- debug stuff if is_os("linux") then add_links("dw") end @@ -49,72 +40,3 @@ target("TowerDefense") add_cxflags("-pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=5 -Wswitch-default -Wundef -Wno-unused") end --- --- If you want to known more usage about xmake, please see https://xmake.io --- --- ## FAQ --- --- You can enter the project directory firstly before building project. --- --- $ cd projectdir --- --- 1. How to build project? --- --- $ xmake --- --- 2. How to configure project? --- --- $ xmake f -p [macosx|linux|iphoneos ..] -a [x86_64|i386|arm64 ..] -m [debug|release] --- --- 3. Where is the build output directory? --- --- The default output directory is `./build` and you can configure the output directory. --- --- $ xmake f -o outputdir --- $ xmake --- --- 4. How to run and debug target after building project? --- --- $ xmake run [targetname] --- $ xmake run -d [targetname] --- --- 5. How to install target to the system directory or other output directory? --- --- $ xmake install --- $ xmake install -o installdir --- --- 6. Add some frequently-used compilation flags in xmake.lua --- --- @code --- -- add debug and release modes --- add_rules("mode.debug", "mode.release") --- --- -- add macro defination --- add_defines("NDEBUG", "_GNU_SOURCE=1") --- --- -- set warning all as error --- set_warnings("all", "error") --- --- -- set language: c99, c++11 --- set_languages("c99", "c++11") --- --- -- set optimization: none, faster, fastest, smallest --- set_optimize("fastest") --- --- -- add include search directories --- add_includedirs("/usr/include", "/usr/local/include") --- --- -- add link libraries and search directories --- add_links("tbox") --- add_linkdirs("/usr/local/lib", "/usr/lib") --- --- -- add system link libraries --- add_syslinks("z", "pthread") --- --- -- add compilation and link flags --- add_cxflags("-stdnolib", "-fno-strict-aliasing") --- add_ldflags("-L/usr/local/lib", "-lpthread", {force = true}) --- --- @endcode --- -