Skip to content
Snippets Groups Projects
Select Git revision
  • 32144f978e39e14e2e3cb1d0a5bd6fdbfbfd9242
  • master default protected
  • backslash
  • nickname-match-configs
  • genofire/leds_rgb_get_state
  • genofire/rockets-state
  • genofire/ble-follow-py
  • plaetzchen/ios-workaround
  • blinkisync-as-preload
  • genofire/haule-ble-fs-deactive
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • ch3/splashscreen
  • koalo/bhi160-works-but-dirty
  • koalo/wip/i2c-for-python
  • v1.9
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
34 results

meson.build

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    meson.build 1.45 KiB
    project(
      'card10-firmware',
      'c',
      default_options: [
        'buildtype=minsize',
        'c_lto=true',
        'c_std=c99',
        'b_staticpic=false',
        'b_asneeded=false',
      ],
    )
    
    assert(
      meson.is_cross_build(),
      'card10-firmware can only be cross-compiled for card10.\n' +
      'Please use `--cross-file card10-cross.ini`.',
    )
    
    add_global_arguments(
      meson.get_cross_property('target_defs'),
      language: 'c',
    )
    
    if get_option('debug_prints')
      add_global_arguments(
        ['-DLOG_ENABLE_DEBUG=1'],
        language: 'c',
      )
    endif
    
    if get_option('debug_core1')
      add_global_arguments(
        ['-DCARD10_DEBUG_CORE1=1'],
        language: 'c',
      )
    endif
    
    add_global_link_arguments(
      '-Wl,--gc-sections',
      '-lm',
      language: 'c',
    )
    
    # python3 = import('python').find_installation('python3')
    python3 = 'python3'
    
    # Version Header
    version_hdr = custom_target(
      'card10-version.h',
      output: 'card10-version.h',
      build_by_default: true,
      build_always_stale: true,
      command: [files('tools/version-header.sh'), '@OUTPUT@'],
    )
    
    jq = find_program('jq', required: false)
    if jq.found()
      compile_commands = custom_target(
        'compile_commands_tidy.json',
        build_by_default: true,
        output: 'compile_commands_tidy.json',
        command: [
          files('tools/convert-ccjson.sh'),
          meson.current_source_dir(),
          meson.current_build_dir(),
          '@OUTPUT@',
        ],
      )
    endif
    
    
    subdir('lib/')
    subdir('bootloader/')
    
    subdir('epicardium/')
    subdir('pycardium/')
    
    subdir('hw-tests/')
    
    subdir('l0dables/')