bx.lua 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. --
  2. -- Copyright 2010-2021 Branimir Karadzic. All rights reserved.
  3. -- License: https://github.com/bkaradzic/bx#license-bsd-2-clause
  4. --
  5. local function userdefines()
  6. local defines = {}
  7. local BX_CONFIG = os.getenv("BX_CONFIG")
  8. if BX_CONFIG then
  9. for def in BX_CONFIG:gmatch "[^%s:]+" do
  10. table.insert(defines, "BX_CONFIG_" .. def)
  11. end
  12. end
  13. return defines
  14. end
  15. project "bx"
  16. kind "StaticLib"
  17. includedirs {
  18. path.join(BX_DIR, "include"),
  19. path.join(BX_DIR, "3rdparty"),
  20. }
  21. files {
  22. path.join(BX_DIR, "include/**.h"),
  23. path.join(BX_DIR, "include/**.inl"),
  24. path.join(BX_DIR, "src/**.cpp"),
  25. path.join(BX_DIR, "scripts/**.natvis"),
  26. }
  27. defines (userdefines())
  28. configuration { "Debug" }
  29. defines {
  30. "BX_CONFIG_DEBUG=1",
  31. }
  32. configuration { "linux-*" }
  33. buildoptions {
  34. "-fPIC",
  35. }
  36. configuration {}
  37. if _OPTIONS["with-amalgamated"] then
  38. excludes {
  39. path.join(BX_DIR, "src/allocator.cpp"),
  40. path.join(BX_DIR, "src/bx.cpp"),
  41. path.join(BX_DIR, "src/commandline.cpp"),
  42. path.join(BX_DIR, "src/crtnone.cpp"),
  43. path.join(BX_DIR, "src/debug.cpp"),
  44. path.join(BX_DIR, "src/dtoa.cpp"),
  45. path.join(BX_DIR, "src/easing.cpp"),
  46. path.join(BX_DIR, "src/file.cpp"),
  47. path.join(BX_DIR, "src/filepath.cpp"),
  48. path.join(BX_DIR, "src/hash.cpp"),
  49. path.join(BX_DIR, "src/math.cpp"),
  50. path.join(BX_DIR, "src/mutex.cpp"),
  51. path.join(BX_DIR, "src/os.cpp"),
  52. path.join(BX_DIR, "src/process.cpp"),
  53. path.join(BX_DIR, "src/semaphore.cpp"),
  54. path.join(BX_DIR, "src/settings.cpp"),
  55. path.join(BX_DIR, "src/sort.cpp"),
  56. path.join(BX_DIR, "src/string.cpp"),
  57. path.join(BX_DIR, "src/thread.cpp"),
  58. path.join(BX_DIR, "src/timer.cpp"),
  59. path.join(BX_DIR, "src/url.cpp"),
  60. }
  61. else
  62. excludes {
  63. path.join(BX_DIR, "src/amalgamated.**"),
  64. }
  65. end
  66. configuration {}