package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.0 KiB

add_rules("mode.debug", "mode.release")
target("newton")
set_kind("$(kind)")
set_languages("c89", "cxx11")
if is_plat("windows") or is_plat("mingw") then
add_defines("_WINDOWS", "_CRT_SECURE_NO_WARNINGS")
if is_arch("x86") then
add_defines("_WIN_32_VER")
else
add_defines("_WIN_64_VER")
end
if is_plat("mingw") then
if is_arch("x86") then
add_defines("_MINGW_32_VER")
else
add_defines("_MINGW_64_VER")
end
end
elseif is_plat("linux", "android") then
add_syslinks("dl")
if is_arch("x86") then
add_defines("_POSIX_VER")
else
add_defines("_POSIX_VER_64")
end
if is_plat("android") then
add_defines("_ARM_VER")
add_cxflags("-mfpu=neon", {force = true})
add_cxflags("-mfloat-abi=soft", {force = true})
add_cxflags("-include arm_neon.h", {force = true})
else
add_syslinks("pthread")
end
elseif is_plat("macosx", "iphoneos") then
add_defines("_MACOSX_VER")
if is_plat("iphoneos") then
add_cxflags("-include emmintrin.h", {force = true})
end
end
if is_plat("windows") then
if is_kind("static") then
add_defines("_NEWTON_STATIC_LIB", {public = true})
else
add_defines("_NEWTON_BUILD_DLL")
end
end
if is_mode("release") and not is_plat("android") then
add_vectorexts("sse", "sse2", "sse3")
end
add_includedirs("sdk", "sdk/dgCore", "sdk/dgMeshUtil", "sdk/dgPhysics", "sdk/dgNewton")
add_files("sdk/dgCore/**.cpp")
add_files("sdk/dgPhysics/**.cpp")
add_files("sdk/dgMeshUtil/**.cpp")
add_files("sdk/dgNewton/**.cpp")
before_install(function (package)
local targetHeader = path.join(package:installdir(), "include", "newton", "Newton.h")
os.vcp("sdk/dgNewton/Newton.h", path.join(package:installdir(), "include", "newton", "Newton.h"))
end)