diff --git a/packages/e/eve/xmake.lua b/packages/e/eve/xmake.lua index 33eccbd7a74..c8c672fddee 100644 --- a/packages/e/eve/xmake.lua +++ b/packages/e/eve/xmake.lua @@ -4,14 +4,31 @@ package("eve") set_description("Expressive Vector Engine - SIMD in C++ Goes Brrrr") set_license("BSL-1.0") - add_urls("https://github.com/jfalcou/eve/archive/refs/tags/v$(version).tar.gz", {excludes = {"*.paxheader", "*.data"}}) add_urls("https://github.com/jfalcou/eve.git") + add_versions("v2025.09.01", "b777741e9e9aa2902f91a2022d643db57b7d2de6") - add_versions("2023.02.15", "7a5fb59c0e6ef3bef3e8b36d62e138d31e7f2a9f1bdfe95a8e96512b207f84c5") + add_deps("cmake") - on_install(function (package) - print(os.filedirs("*")) - os.cp("include", package:installdir()) + if on_check then + on_check(function (package) + if package:is_plat("windows") and package:has_tool("cxx", "cl") then + raise("package(eve) unsupported msvc toolchain now, you can use clang toolchain\nadd_requires(\"eve\", {configs = {toolchains = \"clang-cl\"}}))") + elseif package:is_plat("android") then + local ndk = package:toolchain("ndk"):config("ndkver") + assert(ndk and tonumber(ndk) > 22, "package(eve) require ndk version > 22") + end + end) + end + + on_install("!mingw", function (package) + io.replace("cmake/config/eve-install.cmake", [[set(MAIN_DEST "${CMAKE_INSTALL_LIBDIR}/eve-${PROJECT_VERSION}")]], [[set(MAIN_DEST "${CMAKE_INSTALL_LIBDIR}/eve")]], {plain = true}) + io.replace("cmake/config/eve-install.cmake", [[set(INSTALL_DEST "${CMAKE_INSTALL_INCLUDEDIR}/eve-${PROJECT_VERSION}")]], [[set(INSTALL_DEST "${CMAKE_INSTALL_INCLUDEDIR}")]], {plain = true}) + io.replace("cmake/config/eve-install.cmake", [[set(DOC_DEST "${CMAKE_INSTALL_DOCDIR}-${PROJECT_VERSION}")]], [[set(DOC_DEST "${CMAKE_INSTALL_DOCDIR}")]], {plain = true}) + + local configs = {"-DEVE_BUILD_TEST=OFF"} + table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) + table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) + import("package.tools.cmake").install(package, configs) end) on_test(function (package)