1headers = include_directories('.') 2 3fmt_dep = dependency('fmt', required: false) 4if not fmt_dep.found() 5 fmt_opts = import('cmake').subproject_options() 6 fmt_opts.add_cmake_defines({ 7 'CMAKE_POSITION_INDEPENDENT_CODE': 'ON', 8 'MASTER_PROJECT': 'OFF', 9 }) 10 fmt_proj = import('cmake').subproject( 11 'fmt', 12 options: fmt_opts, 13 required: false) 14 assert(fmt_proj.found(), 'fmtlib is required') 15 fmt_dep = fmt_proj.dependency('fmt') 16endif 17 18 19deps = [ 20 fmt_dep, 21 dependency('stdplus', fallback: ['stdplus', 'stdplus_dep']), 22 dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']), 23] 24 25lib = static_library( 26 'kcsbridged', 27 'args.cpp', 28 'cmd.cpp', 29 'server.cpp', 30 include_directories: headers, 31 implicit_include_directories: false, 32 dependencies: deps) 33 34dep = declare_dependency( 35 dependencies: deps, 36 include_directories: headers, 37 link_with: lib) 38 39kcsbridged = executable( 40 'kcsbridged', 41 'main.cpp', 42 implicit_include_directories: false, 43 dependencies: [ 44 dep, 45 dependency('sdeventplus', fallback: ['sdeventplus', 'sdeventplus_dep']), 46 dependency('libsystemd'), 47 ], 48 install: true, 49 install_dir: get_option('libexecdir')) 50