| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- # Library version
- invercargill_major = '1'
- invercargill_minor = '0'
- invercargill_patch = '0'
- invercargill_version = '@0@.@1@.@2@'.format(invercargill_major, invercargill_minor, invercargill_patch)
- cc = meson.get_compiler('c')
- m_lib = cc.find_library('m', required: false)
- dependencies = [
- dependency('glib-2.0'),
- dependency('gobject-2.0'),
- m_lib, # Math library for fmod
- ]
- sources = files('Enumerable.vala')
- sources += files('Delegates.vala')
- sources += files('Pair.vala')
- sources += files('PositionItemPair.vala')
- sources += files('Tracker.vala')
- sources += files('Errors.vala')
- sources += files('SelectionContext.vala')
- sources += files('Safety.vala')
- sources += files('Grouping.vala')
- sources += files('Interfaces.vala')
- sources += files('KeyValuePair.vala')
- sources += files('KeyCountPair.vala')
- sources += files('Attempt.vala')
- sources += files('Cache.vala')
- sources += files('Proxy.vala')
- sources += files('Sticky.vala')
- sources += files('Promotion.vala')
- sources += files('StickyProxy.vala')
- sources += files('StickyProxyPromotion.vala')
- sources += files('EnumerableInfo.vala')
- sources += files('Element.vala')
- sources += files('Debug.vala')
- sources += files('OrderConfiguration.vala')
- sources += files('Iterate.vala')
- sources += files('Wrap.vala')
- sources += files('Partition.vala')
- sources += files('Composition.vala')
- sources += files('ByteComposition.vala')
- sources += files('Modifiers/Transform.vala')
- sources += files('Modifiers/Filter.vala')
- sources += files('Modifiers/Merge.vala')
- sources += files('Modifiers/Sort.vala')
- sources += files('Modifiers/Skip.vala')
- sources += files('Modifiers/Take.vala')
- sources += files('Modifiers/SkipLast.vala')
- sources += files('Modifiers/TakeLast.vala')
- sources += files('Modifiers/Fork.vala')
- sources += files('Modifiers/ParallelTransform.vala')
- sources += files('Modifiers/ParallelFilter.vala')
- sources += files('Modifiers/Unique.vala')
- sources += files('Modifiers/Position.vala')
- sources += files('Modifiers/FilterTransform.vala')
- sources += files('Modifiers/From.vala')
- sources += files('Modifiers/Until.vala')
- sources += files('Modifiers/Cache.vala')
- sources += files('Modifiers/Concat.vala')
- sources += files('Modifiers/Zip.vala')
- sources += files('Modifiers/Sealed.vala')
- sources += files('Modifiers/Interleave.vala')
- sources += files('Modifiers/Order.vala')
- sources += files('Modifiers/Union.vala')
- sources += files('Modifiers/Difference.vala')
- sources += files('Modifiers/Intersect.vala')
- sources += files('Modifiers/SymmetricDifference.vala')
- sources += files('Modifiers/Chunk.vala')
- sources += files('Modifiers/Cycle.vala')
- sources += files('Modifiers/GroupSequential.vala')
- sources += files('Modifiers/Padding.vala')
- sources += files('Modifiers/Reverse.vala')
- sources += files('Modifiers/Scanner.vala')
- sources += files('Modifiers/Window.vala')
- sources += files('Wrappers/Array.vala')
- sources += files('Wrappers/GenericArray.vala')
- sources += files('Generators/Range.vala')
- sources += files('Generators/Empty.vala')
- sources += files('Generators/Function.vala')
- sources += files('Generators/Directory.vala')
- sources += files('Generators/Deferred.vala')
- sources += files('Promotions/Numbers/Numbers.vala')
- sources += files('Promotions/Numbers/Implementations.vala')
- sources += files('Promotions/Attempts.vala')
- sources += files('Promotions/PropertyGroups.vala')
- sources += files('Promotions/BinaryData.vala')
- sources += files('Promotions/Elements.vala')
- sources += files('Promotions/Registration.c')
- # Nullable type support (C implementation + Vala bindings)
- sources += files('Nullable.c')
- sources += files('Nullable.vala')
- sources += files('Interfaces/Lot.vala')
- sources += files('Interfaces/ImmutableLot.vala')
- sources += files('Interfaces/ReadOnlyCollection.vala')
- sources += files('Interfaces/ReadOnlyAssociative.vala')
- sources += files('Interfaces/ReadOnlyAddressable.vala')
- sources += files('Interfaces/ReadOnlyAddressableBytes.vala')
- sources += files('Interfaces/ReadOnlySet.vala')
- sources += files('Interfaces/ReadOnlyCategoryIndex.vala')
- sources += files('Interfaces/Collection.vala')
- sources += files('Interfaces/Associative.vala')
- sources += files('Interfaces/Addressable.vala')
- sources += files('Interfaces/Set.vala')
- sources += files('Interfaces/AddressableCollection.vala')
- sources += files('Interfaces/AddressableBytes.vala')
- sources += files('Interfaces/Properties.vala')
- sources += files('Interfaces/Queue.vala')
- sources += files('Interfaces/CategoryIndex.vala')
- sources += files('DataStructures/Series.vala')
- sources += files('DataStructures/Fifo.vala')
- sources += files('DataStructures/Lifo.vala')
- sources += files('DataStructures/PriorityQueue.vala')
- sources += files('DataStructures/Vector.vala')
- sources += files('DataStructures/HashSet.vala')
- sources += files('DataStructures/Dictionary.vala')
- sources += files('DataStructures/PropertyDictionary.vala')
- sources += files('DataStructures/SortedVector.vala')
- sources += files('DataStructures/SortedSeries.vala')
- sources += files('DataStructures/Buffer.vala')
- sources += files('DataStructures/RingBuffer.vala')
- sources += files('DataStructures/ImmutableBuffer.vala')
- sources += files('DataStructures/ByteBuffer.vala')
- sources += files('DataStructures/Catalogue.vala')
- sources += files('DataStructures/SetCatalogue.vala')
- sources += files('Mapping/Mapper.vala')
- sources += files('Mapping/PropertyMapper.vala')
- sources += files('Mapping/ValueMapper.vala')
- sources += files('Operators/Comparison.vala')
- sources += files('Operators/Equality.vala')
- sources += files('Operators/Hash.vala')
- sources += files('Operators/Stringify.vala')
- sources += files('Operators/Contain.vala')
- sources += files('Expressions/Expression.vala')
- sources += files('Expressions/Convenience.vala')
- sources += files('Expressions/ExpressionError.vala')
- sources += files('Expressions/ExpressionType.vala')
- sources += files('Expressions/ExpressionVisitor.vala')
- sources += files('Expressions/EvaluationContext.vala')
- sources += files('Expressions/ExpressionEvaluator.vala')
- sources += files('Expressions/PropertyAccessor.vala')
- sources += files('Expressions/PropertiesPropertyAccessor.vala')
- sources += files('Expressions/ObjectPropertyAccessor.vala')
- sources += files('Expressions/FunctionAccessor.vala')
- sources += files('Expressions/BinaryOperator.vala')
- sources += files('Expressions/UnaryOperator.vala')
- sources += files('Expressions/EnumerableFunctionAccessor.vala')
- sources += files('Expressions/IterateFunctionAccessor.vala')
- sources += files('Expressions/GlobalFunctionAccessor.vala')
- sources += files('Expressions/ExpressionTokenizer.vala')
- sources += files('Expressions/ExpressionParser.vala')
- sources += files('Expressions/AccessorFactory.vala')
- sources += files('Expressions/TypeAccessorRegistry.vala')
- sources += files('Expressions/StringPropertyAccessor.vala')
- sources += files('Expressions/LotPropertyAccessor.vala')
- sources += files('Expressions/StringFunctionAccessor.vala')
- sources += files('Expressions/DateTimeFunctionAccessor.vala')
- sources += files('Expressions/Expressions/LiteralExpression.vala')
- sources += files('Expressions/Expressions/VariableExpression.vala')
- sources += files('Expressions/Expressions/ParameterExpression.vala')
- sources += files('Expressions/Expressions/BinaryExpression.vala')
- sources += files('Expressions/Expressions/UnaryExpression.vala')
- sources += files('Expressions/Expressions/TernaryExpression.vala')
- sources += files('Expressions/Expressions/PropertyExpression.vala')
- sources += files('Expressions/Expressions/FunctionCallExpression.vala')
- sources += files('Expressions/Expressions/LambdaExpression.vala')
- sources += files('Expressions/Expressions/BracketedExpression.vala')
- sources += files('Expressions/Expressions/LotLiteralExpression.vala')
- sources += files('Expressions/Expressions/GlobalFunctionCallExpression.vala')
- sources += files('Expressions/Elements/LambdaElement.vala')
- sources += files('Expressions/Elements/GlobalFunctionsElement.vala')
- invercargill = shared_library('invercargill-@0@'.format(invercargill_major), sources,
- dependencies: dependencies,
- install: true,
- vala_gir: 'invercargill-@0@.gir'.format(invercargill_major),
- install_dir: [true, true, true, true],
- vala_vapi: 'invercargill-@0@.vapi'.format(invercargill_major),
- vala_header: 'invercargill-@0@.h'.format(invercargill_major)
- )
- invercargill_dep = declare_dependency(link_with: invercargill, include_directories: include_directories('.'))
- pkg = import('pkgconfig')
- pkg.generate(invercargill,
- version : invercargill_version,
- name : 'invercargill-@0@'.format(invercargill_major))
-
- g_ir_compiler = find_program('g-ir-compiler')
- 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)],
- output: 'invercargill-@0@.typelib'.format(invercargill_major),
- depends: invercargill,
- install: true,
- install_dir: get_option('libdir') / 'girepository-1.0')
-
|