crown-editor.lua 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. --
  2. -- Copyright (c) 2012-2025 Daniele Bartolini et al.
  3. -- SPDX-License-Identifier: MIT
  4. --
  5. project "crown-editor"
  6. kind "WindowedApp"
  7. language "Vala"
  8. configuration { "debug" }
  9. defines {
  10. "CROWN_DEBUG",
  11. }
  12. configuration { "linux" }
  13. defines {
  14. "CROWN_PLATFORM_LINUX"
  15. }
  16. configuration { "windows" }
  17. defines {
  18. "CROWN_PLATFORM_WINDOWS"
  19. }
  20. local CROWN_BUILD_DIR = (CROWN_DIR .. "build/")
  21. configuration { "linux-*" }
  22. targetdir (CROWN_BUILD_DIR .. "linux64" .. "/bin")
  23. objdir (CROWN_BUILD_DIR .. "linux64" .. "/obj")
  24. buildoptions_vala { "--pkg posix" }
  25. configuration { "mingw*" }
  26. targetdir (CROWN_BUILD_DIR .. "mingw64" .. "/bin")
  27. objdir (CROWN_BUILD_DIR .. "mingw64" .. "/obj")
  28. configuration {}
  29. defines {
  30. "CROWN_GTK3"
  31. }
  32. removelinkoptions {
  33. "-static"
  34. }
  35. removelinks {
  36. "dl"
  37. }
  38. links {
  39. "gdk-3.0",
  40. "gee-0.8",
  41. "gio-2.0",
  42. "glib-2.0",
  43. "gtk+-3.0",
  44. }
  45. buildoptions {
  46. "-Wno-deprecated-declarations",
  47. "-Wno-incompatible-pointer-types",
  48. "-Wno-discarded-qualifiers",
  49. "-Wno-sign-compare",
  50. "-Wno-unused-function",
  51. "-Wno-unused-label",
  52. "-Wno-unused-variable",
  53. "-Wno-unused-parameter",
  54. "-Wno-unused-but-set-variable",
  55. "-Wno-cast-function-type",
  56. "-Wno-missing-field-initializers",
  57. "-Wno-incompatible-pointer-types",
  58. "-Wno-unused-value",
  59. "-D VALA_STRICT_C",
  60. "-D GDK_DISABLE_DEPRECATED",
  61. "-D GTK_DISABLE_DEPRECATED",
  62. }
  63. linkoptions {
  64. "-lm",
  65. "-lfreetype",
  66. }
  67. buildoptions_vala {
  68. "--target-glib=2.64.6",
  69. "--pkg tinyexpr",
  70. "--pkg md5",
  71. "--pkg ufbx",
  72. }
  73. vapidirs {
  74. CROWN_DIR .. "tools/vapi"
  75. }
  76. buildoptions {
  77. "-I" .. CROWN_DIR .. "3rdparty/tinyexpr",
  78. "-I" .. CROWN_DIR .. "3rdparty/md5",
  79. "-I" .. CROWN_DIR .. "3rdparty/ufbx",
  80. "-I" .. CROWN_DIR .. "3rdparty/stb",
  81. }
  82. files {
  83. CROWN_DIR .. "tools/**.vala",
  84. CROWN_DIR .. "tools/**.c",
  85. CROWN_DIR .. "tools/level_editor/resources/org.crownengine.Crown.gresource.xml",
  86. CROWN_DIR .. "3rdparty/tinyexpr/tinyexpr.c",
  87. CROWN_DIR .. "3rdparty/md5/md5.c",
  88. CROWN_DIR .. "3rdparty/ufbx/ufbx.c",
  89. }
  90. strip()
  91. configuration {}