Add newton dynamics v4

pull/1428/head
SirLynix 3 years ago
parent bae0137abb
commit 31715f97c6
  1. 35
      packages/n/newtondynamics4/patches/v4.01/cmake.patch
  2. 45
      packages/n/newtondynamics4/xmake.lua

@ -0,0 +1,35 @@
diff --git a/newton-4.00/CMakeLists.txt b/newton-4.00/CMakeLists.txt
index c7f63370f..466bc9f72 100644
--- a/newton-4.00/CMakeLists.txt
+++ b/newton-4.00/CMakeLists.txt
@@ -97,30 +97,6 @@ if(UNIX)
endif ()
if (MSVC)
- if (PTR_SIZE EQUAL 8)
- set(CMAKE_INSTALL_PREFIX "win64sdk" CACHE PATH "..." FORCE)
- else()
- set(CMAKE_INSTALL_PREFIX "win32sdk" CACHE PATH "..." FORCE)
- endif ()
-
- if(NEWTON_STATIC_RUNTIME_LIBRARIES)
- message ("link to static runtime libraries")
- set(CMAKE_C_FLAGS_DEBUG "/MTd")
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "/MT")
- set(CMAKE_C_FLAGS_RELEASE "/MT")
- set(CMAKE_CXX_FLAGS_DEBUG "/MTd")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT")
- set(CMAKE_CXX_FLAGS_RELEASE "/MT")
- else()
- message ("link to dynamic runtime libraries")
- set(CMAKE_C_FLAGS_DEBUG "/MDd")
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "/MD")
- set(CMAKE_C_FLAGS_RELEASE "/MD")
- set(CMAKE_CXX_FLAGS_DEBUG "/MDd")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD")
- set(CMAKE_CXX_FLAGS_RELEASE "/MD")
- endif()
-
if(${CMAKE_VS_PLATFORM_NAME} STREQUAL "x64")
message ("build 64 bit")
elseif(${CMAKE_VS_PLATFORM_NAME} STREQUAL "Win32")

@ -0,0 +1,45 @@
package("newtondynamics4")
set_homepage("http://newtondynamics.com")
set_description("Newton Dynamics is an integrated solution for real time simulation of physics environments.")
set_license("zlib")
add_urls("https://github.com/MADEAPPS/newton-dynamics/archive/refs/tags/$(version).tar.gz",
"https://github.com/MADEAPPS/newton-dynamics.git")
add_versions("v4.01", "c92b64f33488c4774debc110418cbc713fd8e07f37b15e4917b92a7a8d5e785a")
add_patches("v4.01", path.join(os.scriptdir(), "patches", "v4.01", "cmake.patch"), "005a86d0a97cbc35bb3e4905afe4e6fdc7d8024484d50a8b41dbade601f98149")
add_includedirs("include", "include/ndCore", "include/ndCollision", "include/ndNewton")
if is_plat("linux", "android") then
add_syslinks("dl", "pthread")
end
on_load(function (package)
if package:is_plat("windows") and package:config("shared") then
package:add("defines", "_D_CORE_DLL")
package:add("defines", "_D_COLLISION_DLL")
package:add("defines", "_D_NEWTON_DLL")
package:add("defines", "_D_D_TINY_DLL")
end
end)
on_install("windows", "linux", "macosx", "mingw", function (package)
os.cd("newton-4.00")
local configs = {"-DNEWTON_BUILD_SANDBOX_DEMOS=OFF", "-DNEWTON_BUILD_TEST=OFF", "-DNEWTON_BUILD_CREATE_SUB_PROJECTS=OFF"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
if package:config("shared") then
table.insert(configs, "-DBUILD_SHARED_LIBS=ON")
table.insert(configs, "-DNEWTON_BUILD_SHARED_LIBS=ON")
end
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test(int args, char** argv) {
ndWorld world;
world.Update(0.01f);
}
]]}, {includes = "ndNewton/ndNewton.h"}))
end)
Loading…
Cancel
Save