#!/usr/bin/env python Import("env") Import("env_modules") env_recast = env_modules.Clone() # Thirdparty source files thirdparty_obj = [] 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_recast.Prepend(CPPPATH=[thirdparty_dir + "/Include"]) env_thirdparty = env_recast.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_recast.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)