diff options
Diffstat (limited to 'modules/navigation/SCsub')
-rw-r--r-- | modules/navigation/SCsub | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/modules/navigation/SCsub b/modules/navigation/SCsub new file mode 100644 index 0000000000..22b5509b32 --- /dev/null +++ b/modules/navigation/SCsub @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +Import("env") +Import("env_modules") + +env_navigation = env_modules.Clone() + +# Thirdparty source files + +thirdparty_obj = [] + +# Recast Thirdparty source files +if env["builtin_recast"]: + thirdparty_dir = "#thirdparty/recastnavigation/Recast/" + thirdparty_sources = [ + "Source/Recast.cpp", + "Source/RecastAlloc.cpp", + "Source/RecastArea.cpp", + "Source/RecastAssert.cpp", + "Source/RecastContour.cpp", + "Source/RecastFilter.cpp", + "Source/RecastLayers.cpp", + "Source/RecastMesh.cpp", + "Source/RecastMeshDetail.cpp", + "Source/RecastRasterization.cpp", + "Source/RecastRegion.cpp", + ] + thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] + + env_navigation.Prepend(CPPPATH=[thirdparty_dir + "Include"]) + + env_thirdparty = env_navigation.Clone() + env_thirdparty.disable_warnings() + env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources) + +# RVO Thirdparty source files +if env["builtin_rvo2"]: + thirdparty_dir = "#thirdparty/rvo2/" + thirdparty_sources = [ + "Agent.cpp", + "KdTree.cpp", + ] + thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] + + env_navigation.Prepend(CPPPATH=[thirdparty_dir]) + + env_thirdparty = env_navigation.Clone() + env_thirdparty.disable_warnings() + env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources) + + +env.modules_sources += thirdparty_obj + + +# Godot source files + +module_obj = [] + +env_navigation.add_source_files(module_obj, "*.cpp") +env.modules_sources += module_obj + +# Needed to force rebuilding the module files when the thirdparty library is updated. +env.Depends(module_obj, thirdparty_obj) |