project('paradox', 'objc', version: '0.0.1') add_project_arguments('-Wno-objc-root-class', '-Werror', '-pedantic', '-Wall', language: 'objc') deps = [] deps += dependency('libobjc') # This is libobjc2, not libobjc - do not be fooled inc = include_directories('include') sources = [ 'src/Object.m', ] paradox = static_library('paradox', sources, include_directories: inc, dependencies: deps, install: true, install_dir: 'lib') install_headers( 'include/Paradox/Core.h', 'include/Paradox/Object.h', subdir: 'paradox' ) test_deps = [] test_deps += dependency('libobjc') test_deps += declare_dependency(link_with: paradox, include_directories: inc, dependencies: deps) executable('Object', 'tests/Object.m', dependencies: test_deps) pkg = import('pkgconfig') pkg.generate(paradox, subdirs: 'paradox', version: '0.0.1', name: 'paradox', filebase: 'paradox', description: 'Application framework for Objective-C built from first principles.', requires: ['libobjc'])