xmake.lua 1.8 KB

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