xmake.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. add_rules("mode.debug", "mode.release")
  2. add_requires("ceres-solver 2.1.0", {configs = {suitesparse = true}})
  3. add_requires("abseil", "cairo", "eigen", "glog", "lua", "zlib")
  4. add_requires("protobuf-cpp 3.19.4")
  5. target("cartographer")
  6. set_kind("$(kind)")
  7. set_languages("cxx17")
  8. add_packages(
  9. "abseil",
  10. "ceres-solver",
  11. "cairo",
  12. "eigen",
  13. "glog",
  14. "lua",
  15. "zlib"
  16. )
  17. add_packages("protobuf-cpp", {public = true})
  18. add_rules("protobuf.cpp")
  19. add_files("cartographer/**.proto", {proto_rootdir = "cartographer", proto_autogendir = path.join("$(buildir)", "proto") , proto_public = true})
  20. add_includedirs("$(buildir)/proto/cartographer")
  21. add_includedirs("$(buildir)/proto", { public = true })
  22. add_headerfiles("$(buildir)/proto/(cartographer/**.h)")
  23. add_headerfiles("$(buildir)/proto/cartographer/(**.h)")
  24. remove_files("cartographer/**_service.proto")
  25. add_headerfiles("(cartographer/**.h)")
  26. add_files("cartographer/**.cc")
  27. remove_files("cartographer/io/serialization_format_migration.cc")
  28. remove_headerfiles("cartographer/io/serialization_format_migration.h")
  29. remove_files("cartographer/io/internal/pbstream_migrate.cc", "cartographer/io/internal/pbstream_info.cc")
  30. remove_headerfiles("cartographer/io/internal/pbstream_migrate.h", "cartographer/io/internal/pbstream_info.h")
  31. remove_headerfiles("**/fake_*.h", "**/*test*.h", "**/mock*.h")
  32. remove_files("**/fake_*.cc", "**/mock*.cc", "**/*_main.cc", "**/*test*.cc")
  33. -- BUILD_GRPC is not enabled
  34. remove_headerfiles("cartographer/cloud/**.h")
  35. remove_files("cartographer/cloud/**.cc")
  36. remove_files("cartographer/cloud/proto/**.proto")
  37. add_includedirs(".", { public = true })
  38. if is_plat("windows") then
  39. add_defines("NOMINMAX")
  40. end