2
0

xmake.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. add_rules("mode.debug", "mode.release")
  2. set_languages("c++14")
  3. option("tools", {default = false})
  4. target("LASlib")
  5. set_kind("$(kind)")
  6. add_files("LASlib/src/*.cpp|lasvlr.cpp|demzip_dll.cpp")
  7. add_files("LASzip/src/*.cpp|demzip_dll.cpp|laszip_dll.cpp")
  8. add_includedirs(
  9. "LASlib/inc",
  10. "LASzip/src",
  11. "LASzip/include/laszip", {public = true})
  12. set_encodings("source:utf-8")
  13. if is_plat("windows") then
  14. add_defines("NOMINMAX")
  15. add_defines("_CRT_SECURE_NO_WARNINGS", {public = true})
  16. if is_kind("shared") then
  17. add_defines("COMPILE_AS_DLL")
  18. add_defines("USE_AS_DLL", {interface = true})
  19. end
  20. end
  21. add_headerfiles(
  22. "LASzip/src/*.hpp",
  23. "LASzip/include/laszip/*.h",
  24. "LASlib/inc/*.hpp", {prefixdir = "LASlib"})
  25. if has_config("tools") then
  26. target("tools_objects")
  27. set_kind("object")
  28. set_languages("c++17")
  29. add_files("src/geoprojectionconverter.cpp", "src/proj_loader.cpp")
  30. add_deps("LASlib")
  31. local tools = {
  32. "laszip",
  33. "lasinfo",
  34. "lasprecision",
  35. "txt2las",
  36. "las2las",
  37. "lasmerge",
  38. "lascopcindex",
  39. "las2txt",
  40. "lasdiff",
  41. "lasindex",
  42. }
  43. for _, tool in ipairs(tools) do
  44. target(tool)
  45. set_kind("binary")
  46. set_languages("c++17")
  47. add_files("src/" .. tool .. ".cpp")
  48. add_deps("tools_objects", "LASlib")
  49. end
  50. end