Skip to content
Snippets Groups Projects
meson.build 1.56 KiB
Newer Older
  • Learn to ignore specific revisions
  • project(
      'card10-firmware',
      'c',
      default_options: [
        'buildtype=minsize',
        'c_lto=true',
        'c_std=c99',
        'b_staticpic=false',
        'b_asneeded=false',
    
        'warning_level=2',
    
      ],
    )
    
    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(
    
      '-Wno-unused-parameter',
      '-Wno-old-style-declaration',
    
      '-Wno-char-subscripts',
    
      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'
    
    rahix's avatar
    rahix committed
    
    
    # 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@'],
    )
    
    
    swym's avatar
    swym committed
    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/')
    
    rahix's avatar
    rahix committed
    
    subdir('epicardium/')
    
    rahix's avatar
    rahix committed
    subdir('pycardium/')
    
    
    subdir('hw-tests/')
    
    q3k's avatar
    q3k committed
    
    subdir('l0dables/')