meson.build 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. # Library version
  2. invercargill_major = '1'
  3. invercargill_minor = '0'
  4. invercargill_patch = '0'
  5. invercargill_version = '@0@.@1@.@2@'.format(invercargill_major, invercargill_minor, invercargill_patch)
  6. dependencies = [
  7. dependency('glib-2.0'),
  8. dependency('gobject-2.0'),
  9. ]
  10. sources = files('Enumerable.vala')
  11. sources += files('Delegates.vala')
  12. sources += files('Pair.vala')
  13. sources += files('PositionItemPair.vala')
  14. sources += files('Tracker.vala')
  15. sources += files('Errors.vala')
  16. sources += files('SelectionContext.vala')
  17. sources += files('Safety.vala')
  18. sources += files('Promotion.vala')
  19. sources += files('Grouping.vala')
  20. sources += files('Interfaces.vala')
  21. sources += files('KeyValuePair.vala')
  22. sources += files('KeyCountPair.vala')
  23. sources += files('Attempt.vala')
  24. sources += files('Cache.vala')
  25. sources += files('Proxy.vala')
  26. sources += files('StickyProxy.vala')
  27. sources += files('EnumerableInfo.vala')
  28. sources += files('StickyPromotion.vala')
  29. sources += files('Element.vala')
  30. sources += files('Debug.vala')
  31. sources += files('OrderConfiguration.vala')
  32. sources += files('Iterate.vala')
  33. sources += files('Wrap.vala')
  34. sources += files('Partition.vala')
  35. sources += files('Composition.vala')
  36. sources += files('ByteComposition.vala')
  37. sources += files('Modifiers/Transform.vala')
  38. sources += files('Modifiers/Filter.vala')
  39. sources += files('Modifiers/Merge.vala')
  40. sources += files('Modifiers/Sort.vala')
  41. sources += files('Modifiers/Skip.vala')
  42. sources += files('Modifiers/Take.vala')
  43. sources += files('Modifiers/SkipLast.vala')
  44. sources += files('Modifiers/TakeLast.vala')
  45. sources += files('Modifiers/Fork.vala')
  46. sources += files('Modifiers/ParallelTransform.vala')
  47. sources += files('Modifiers/ParallelFilter.vala')
  48. sources += files('Modifiers/Unique.vala')
  49. sources += files('Modifiers/Position.vala')
  50. sources += files('Modifiers/FilterTransform.vala')
  51. sources += files('Modifiers/From.vala')
  52. sources += files('Modifiers/Until.vala')
  53. sources += files('Modifiers/Cache.vala')
  54. sources += files('Modifiers/Concat.vala')
  55. sources += files('Modifiers/Zip.vala')
  56. sources += files('Modifiers/Sealed.vala')
  57. sources += files('Modifiers/Interleave.vala')
  58. sources += files('Modifiers/Order.vala')
  59. sources += files('Modifiers/Union.vala')
  60. sources += files('Modifiers/Difference.vala')
  61. sources += files('Modifiers/Intersect.vala')
  62. sources += files('Modifiers/SymmetricDifference.vala')
  63. sources += files('Modifiers/Chunk.vala')
  64. sources += files('Modifiers/Cycle.vala')
  65. sources += files('Modifiers/GroupSequential.vala')
  66. sources += files('Modifiers/Padding.vala')
  67. sources += files('Modifiers/Reverse.vala')
  68. sources += files('Modifiers/Scanner.vala')
  69. sources += files('Modifiers/Window.vala')
  70. sources += files('Wrappers/Array.vala')
  71. sources += files('Wrappers/GenericArray.vala')
  72. sources += files('Generators/Range.vala')
  73. sources += files('Generators/Empty.vala')
  74. sources += files('Generators/Function.vala')
  75. sources += files('Generators/Directory.vala')
  76. sources += files('Generators/Deferred.vala')
  77. sources += files('Promotions/Numbers/Numbers.vala')
  78. sources += files('Promotions/Numbers/Implementations.vala')
  79. sources += files('Promotions/Equatables.vala')
  80. sources += files('Promotions/Attempts.vala')
  81. sources += files('Promotions/PropertyGroups.vala')
  82. sources += files('Promotions/BinaryData.vala')
  83. sources += files('Promotions/Registration.c')
  84. sources += files('Interfaces/Lot.vala')
  85. sources += files('Interfaces/ImmutableLot.vala')
  86. sources += files('Interfaces/ReadOnlyCollection.vala')
  87. sources += files('Interfaces/ReadOnlyAssociative.vala')
  88. sources += files('Interfaces/ReadOnlyAddressable.vala')
  89. sources += files('Interfaces/ReadOnlyAddressableBytes.vala')
  90. sources += files('Interfaces/ReadOnlySet.vala')
  91. sources += files('Interfaces/Collection.vala')
  92. sources += files('Interfaces/Associative.vala')
  93. sources += files('Interfaces/Addressable.vala')
  94. sources += files('Interfaces/Set.vala')
  95. sources += files('Interfaces/Properties.vala')
  96. sources += files('Interfaces/Elements.vala')
  97. sources += files('Interfaces/AddressableCollection.vala')
  98. sources += files('Interfaces/AddressableBytes.vala')
  99. sources += files('Interfaces/BinaryData.vala')
  100. sources += files('Interfaces/Queue.vala')
  101. sources += files('DataStructures/Series.vala')
  102. sources += files('DataStructures/Fifo.vala')
  103. sources += files('DataStructures/Lifo.vala')
  104. sources += files('DataStructures/PriorityQueue.vala')
  105. sources += files('DataStructures/Vector.vala')
  106. sources += files('DataStructures/HashSet.vala')
  107. sources += files('DataStructures/Dictionary.vala')
  108. sources += files('DataStructures/PropertyDictionary.vala')
  109. sources += files('DataStructures/SortedVector.vala')
  110. sources += files('DataStructures/SortedSeries.vala')
  111. sources += files('DataStructures/Buffer.vala')
  112. sources += files('DataStructures/RingBuffer.vala')
  113. sources += files('DataStructures/ImmutableBuffer.vala')
  114. sources += files('DataStructures/ByteBuffer.vala')
  115. sources += files('Mapping/Mapper.vala')
  116. sources += files('Mapping/PropertyMapper.vala')
  117. sources += files('Mapping/ValueMapper.vala')
  118. sources += files('Operators/Comparison.vala')
  119. sources += files('Operators/Equality.vala')
  120. sources += files('Operators/Hash.vala')
  121. sources += files('Operators/Stringify.vala')
  122. invercargill = shared_library('invercargill-@0@'.format(invercargill_major), sources,
  123. dependencies: dependencies,
  124. install: true,
  125. vala_gir: 'invercargill-@0@.gir'.format(invercargill_major),
  126. install_dir: [true, true, true, true]
  127. )
  128. invercargill_dep = declare_dependency(link_with: invercargill, include_directories: include_directories('.'))
  129. pkg = import('pkgconfig')
  130. pkg.generate(invercargill,
  131. version : invercargill_version,
  132. name : 'invercargill',)
  133. g_ir_compiler = find_program('g-ir-compiler')
  134. custom_target('invercargill typelib', command: [g_ir_compiler, '--shared-library=libinvercargill-@0@.so'.format(invercargill_major), '--output', '@OUTPUT@', meson.current_build_dir() / 'invercargill-@0@.gir'.format(invercargill_major)],
  135. output: 'invercargill-@0@.typelib'.format(invercargill_major),
  136. depends: invercargill,
  137. install: true,
  138. install_dir: get_option('libdir') / 'girepository-1.0')