mpt-libopenmpt.lua 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. project "libopenmpt"
  2. uuid "9C5101EF-3E20-4558-809B-277FDD50E878"
  3. language "C++"
  4. location ( "../../build/" .. mpt_projectpathname )
  5. vpaths { ["*"] = "../../" }
  6. mpt_projectname = "libopenmpt"
  7. dofile "../../build/premake/premake-defaults-LIBorDLL.lua"
  8. dofile "../../build/premake/premake-defaults.lua"
  9. local extincludedirs = {
  10. "../../include/mpg123/ports/MSVC++",
  11. "../../include/mpg123/src/libmpg123",
  12. "../../include/ogg/include",
  13. "../../include/vorbis/include",
  14. "../../include/zlib",
  15. }
  16. filter { "action:vs*" }
  17. includedirs ( extincludedirs )
  18. filter { "not action:vs*" }
  19. sysincludedirs ( extincludedirs )
  20. filter {}
  21. includedirs {
  22. "../..",
  23. "../../src",
  24. "../../common",
  25. "$(IntDir)/svn_version",
  26. "../../build/svn_version",
  27. }
  28. files {
  29. "../../src/mpt/**.cpp",
  30. "../../src/mpt/**.hpp",
  31. "../../src/openmpt/**.cpp",
  32. "../../src/openmpt/**.hpp",
  33. "../../common/*.cpp",
  34. "../../common/*.h",
  35. "../../soundlib/*.cpp",
  36. "../../soundlib/*.h",
  37. "../../soundlib/plugins/*.cpp",
  38. "../../soundlib/plugins/*.h",
  39. "../../soundlib/plugins/dmo/*.cpp",
  40. "../../soundlib/plugins/dmo/*.h",
  41. "../../sounddsp/*.cpp",
  42. "../../sounddsp/*.h",
  43. "../../libopenmpt/libopenmpt.h",
  44. "../../libopenmpt/libopenmpt.hpp",
  45. "../../libopenmpt/libopenmpt_config.h",
  46. "../../libopenmpt/libopenmpt_ext.h",
  47. "../../libopenmpt/libopenmpt_ext.hpp",
  48. "../../libopenmpt/libopenmpt_ext_impl.hpp",
  49. "../../libopenmpt/libopenmpt_impl.hpp",
  50. "../../libopenmpt/libopenmpt_internal.h",
  51. "../../libopenmpt/libopenmpt_stream_callbacks_buffer.h",
  52. "../../libopenmpt/libopenmpt_stream_callbacks_fd.h",
  53. "../../libopenmpt/libopenmpt_stream_callbacks_file.h",
  54. "../../libopenmpt/libopenmpt_version.h",
  55. "../../libopenmpt/libopenmpt_c.cpp",
  56. "../../libopenmpt/libopenmpt_cxx.cpp",
  57. "../../libopenmpt/libopenmpt_ext_impl.cpp",
  58. "../../libopenmpt/libopenmpt_impl.cpp",
  59. }
  60. excludes {
  61. "../../src/mpt/crypto/**.cpp",
  62. "../../src/mpt/crypto/**.hpp",
  63. "../../src/mpt/json/**.cpp",
  64. "../../src/mpt/json/**.hpp",
  65. "../../src/mpt/library/**.cpp",
  66. "../../src/mpt/library/**.hpp",
  67. "../../src/mpt/path/**.cpp",
  68. "../../src/mpt/path/**.hpp",
  69. "../../src/mpt/test/**.cpp",
  70. "../../src/mpt/test/**.hpp",
  71. "../../src/mpt/uuid_namespace/**.cpp",
  72. "../../src/mpt/uuid_namespace/**.hpp",
  73. "../../src/openmpt/sounddevice/**.cpp",
  74. "../../src/openmpt/sounddevice/**.hpp",
  75. }
  76. filter { "action:vs*", "kind:SharedLib or ConsoleApp or WindowedApp" }
  77. resdefines {
  78. "MPT_BUILD_VER_FILENAME=\"" .. mpt_projectname .. ".dll\"",
  79. "MPT_BUILD_VER_FILEDESC=\"" .. mpt_projectname .. "\"",
  80. }
  81. filter { "action:vs*", "kind:SharedLib or ConsoleApp or WindowedApp" }
  82. resincludedirs {
  83. "$(IntDir)/svn_version",
  84. "../../build/svn_version",
  85. "$(ProjDir)/../../build/svn_version",
  86. }
  87. files {
  88. "../../libopenmpt/libopenmpt_version.rc",
  89. }
  90. filter { "action:vs*", "kind:SharedLib" }
  91. resdefines { "MPT_BUILD_VER_DLL" }
  92. filter { "action:vs*", "kind:ConsoleApp or WindowedApp" }
  93. resdefines { "MPT_BUILD_VER_EXE" }
  94. filter {}
  95. characterset "Unicode"
  96. warnings "Extra"
  97. defines { "LIBOPENMPT_BUILD" }
  98. filter { "kind:SharedLib" }
  99. defines { "LIBOPENMPT_BUILD_DLL" }
  100. filter { "kind:SharedLib" }
  101. filter {}
  102. links {
  103. "vorbis",
  104. "ogg",
  105. "mpg123",
  106. "zlib",
  107. }
  108. prebuildcommands { "..\\..\\build\\svn_version\\update_svn_version_vs_premake.cmd $(IntDir)" }