From 815968665866bd1c49d400b9e9435fbb555306da Mon Sep 17 00:00:00 2001 From: Saikari Date: Mon, 19 Jan 2026 04:43:21 +0300 Subject: [PATCH 1/2] Add build configuration for omath and examples --- xmake.lua | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 xmake.lua diff --git a/xmake.lua b/xmake.lua new file mode 100644 index 00000000..f9923b6a --- /dev/null +++ b/xmake.lua @@ -0,0 +1,75 @@ +add_rules("mode.debug", "mode.release") +add_rules("utils.install.cmake_importfiles") + +set_version("4.6.1", {soname = "4.6"}) +set_languages("cxx23") +set_warnings("all") + +option("avx2") + set_default(true) + set_showmenu(true) + add_defines("OMATH_ENABLE_AVX2") + add_vectorexts("avx2") + + after_check(function (option) + import("core.base.cpu") + option:enable(cpu.has_feature("avx2")) + end) +option_end() + +option("imgui") + set_default(true) + set_showmenu(true) + add_defines("OMATH_IMGUI_INTEGRATION") +option_end() + +option("examples") + set_default(true) + set_showmenu(true) +option_end() + +if has_config("imgui") then + add_requires("imgui") +end + +if has_config("examples") then + add_requires("glew", "glfw") +end + +target("omath") + set_kind("static") + add_files("source/**.cpp") + add_includedirs("include", {public = true}) + add_headerfiles("include/(**.hpp)", {prefixdir = "omath"}) + if has_config("imgui") then + add_packages("imgui") + end + on_config(function (target) + if has_config("avx2") then + cprint("${green} ✔️ AVX2 supported") + else + cprint("${red} ❌ AVX2 not supported") + end + end) + +target("example_projection_matrix_builder") + set_languages("cxx26") + set_kind("binary") + add_files("examples/example_proj_mat_builder.cpp") + add_deps("omath") + set_enabled(has_config("examples")) + +target("example_signature_scan") + set_languages("cxx26") + set_kind("binary") + add_files("examples/example_signature_scan.cpp") + add_deps("omath") + set_enabled(has_config("examples")) + +target("example_glfw3") + set_languages("cxx26") + set_kind("binary") + add_files("examples/example_glfw3.cpp") + add_deps("omath") + add_packages("glew", "glfw") + set_enabled(has_config("examples")) From 450f3a3ab0403436b527964ff4ec769cb2bcda05 Mon Sep 17 00:00:00 2001 From: Saikari Date: Mon, 19 Jan 2026 04:45:41 +0300 Subject: [PATCH 2/2] Add rules for CMake and pkg-config imports --- xmake.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xmake.lua b/xmake.lua index f9923b6a..e0cfabf7 100644 --- a/xmake.lua +++ b/xmake.lua @@ -1,5 +1,7 @@ add_rules("mode.debug", "mode.release") + add_rules("utils.install.cmake_importfiles") +add_rules("utils.install.pkgconfig_importfiles") set_version("4.6.1", {soname = "4.6"}) set_languages("cxx23")