DNASequence/xmake.lua
2024-09-21 23:47:41 +08:00

52 lines
1.4 KiB
Lua

add_rules("mode.debug","mode.release")
set_languages("c++23")
add_requires("pybind11")
if is_mode("release")then
set_optimize("aggressive") --这里使用了激进的优化,可能会导致浮点数计算不准确,考虑到本项目没有浮点计算,酌情考虑开启
-- set_optimize("fastest") --上面和下面的二选一,--表示注释
if is_plat("windows")then
-- 矢量化加速似乎没用
-- add_cxxflags("/arch:AVX512")
elseif is_plat("linux") or is_plat("mingw") or is_plat("clang")then
-- 矢量化加速似乎没用
-- add_cxxflags("-march=native")
end
end
if is_plat("windows")then
add_cxxflags("/openmp:llvm")
elseif is_plat("linux") or is_plat("mingw") or is_plat("clang")then
add_cxxflags("-fopenmp")
add_ldflags("-fopenmp")
end
add_includedirs("src/tools")
set_rundir("./")
target("dna_pybind")
add_defines("DNA_IS_PYBIND")
add_packages("pybind11")
set_kind("shared")
if is_plat("windows")then
set_filename("dna.pyd")
else
set_filename("libdna.so")
end
set_filename("dna.pyd")
add_files("src/main.cpp")
set_basename("dna")
add_shflags("-fopenmp")
after_build(
function (target)
print(target:targetdir())
os.cp("*.py*",target:targetdir())
end
)
target("dna")
set_kind("binary")
add_files("src/main.cpp")