52 lines
1.4 KiB
Lua
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")
|