15e0dcb39SLei YUoe_sdk = get_option('oe-sdk') 2ce6c5c54SPatrick Williamsif oe_sdk.allowed() 35e0dcb39SLei YU # Setup OE SYSROOT 4*8a08ac10SPatrick Williams OECORE_TARGET_SYSROOT = run_command( 5*8a08ac10SPatrick Williams 'sh', 6*8a08ac10SPatrick Williams '-c', 7*8a08ac10SPatrick Williams 'echo $OECORE_TARGET_SYSROOT', 8*8a08ac10SPatrick Williams ).stdout().strip() 95e0dcb39SLei YU if OECORE_TARGET_SYSROOT == '' 105e0dcb39SLei YU error('Unable to get $OECORE_TARGET_SYSROOT, check your environment.') 115e0dcb39SLei YU endif 125e0dcb39SLei YU message('OE_SYSROOT: ' + OECORE_TARGET_SYSROOT) 13*8a08ac10SPatrick Williams rpath = ':'.join( 14*8a08ac10SPatrick Williams [OECORE_TARGET_SYSROOT + '/lib', OECORE_TARGET_SYSROOT + '/usr/lib'], 15*8a08ac10SPatrick Williams ) 16*8a08ac10SPatrick Williams ld_so = run_command( 17*8a08ac10SPatrick Williams 'sh', 18*8a08ac10SPatrick Williams '-c', 19*8a08ac10SPatrick Williams 'find ' + OECORE_TARGET_SYSROOT + '/lib/ld-*.so | sort -r -n | head -n1', 20*8a08ac10SPatrick Williams ).stdout().strip() 215e0dcb39SLei YU dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so] 225e0dcb39SLei YUelse 235e0dcb39SLei YU dynamic_linker = [] 245e0dcb39SLei YUendif 255e0dcb39SLei YU 265e0dcb39SLei YUgtest = dependency('gtest', main: true, disabler: true, required: build_tests) 275e0dcb39SLei YUgmock = dependency('gmock', disabler: true, required: build_tests) 285e0dcb39SLei YU 29*8a08ac10SPatrick Williamsconfigure_file(output: 'config.h', configuration: cdata) 305e0dcb39SLei YUtest_inc = include_directories('.') 315e0dcb39SLei YU 32f77189f7SLei YUtest_util = executable( 33f77189f7SLei YU 'test_util', 345e0dcb39SLei YU '../src/utils.cpp', 355e0dcb39SLei YU 'test_utils.cpp', 365e0dcb39SLei YU include_directories: [psu_inc, test_inc], 375e0dcb39SLei YU link_args: dynamic_linker, 38ce6c5c54SPatrick Williams build_rpath: oe_sdk.allowed() ? rpath : '', 395e0dcb39SLei YU dependencies: [ 405e0dcb39SLei YU gtest, 415e0dcb39SLei YU gmock, 425e0dcb39SLei YU phosphor_logging, 435e0dcb39SLei YU phosphor_dbus_interfaces, 445e0dcb39SLei YU sdbusplus, 45ad90ad51SLei YU ssl, 46*8a08ac10SPatrick Williams ], 47*8a08ac10SPatrick Williams) 485e0dcb39SLei YU 4912c9f4c4SLei YUtest_phosphor_psu_manager = executable( 5012c9f4c4SLei YU 'test_phosphor_psu_manager', 51f77189f7SLei YU '../src/activation.cpp', 52f77189f7SLei YU '../src/item_updater.cpp', 53f77189f7SLei YU '../src/version.cpp', 54f77189f7SLei YU 'test_item_updater.cpp', 5512c9f4c4SLei YU 'test_activation.cpp', 56fda15a33SLei YU 'test_version.cpp', 57f77189f7SLei YU include_directories: [psu_inc, test_inc], 58f77189f7SLei YU link_args: dynamic_linker, 59ce6c5c54SPatrick Williams build_rpath: oe_sdk.allowed() ? rpath : '', 60f77189f7SLei YU dependencies: [ 61f77189f7SLei YU gtest, 62f77189f7SLei YU gmock, 63f77189f7SLei YU phosphor_logging, 64f77189f7SLei YU phosphor_dbus_interfaces, 65f77189f7SLei YU sdbusplus, 66f77189f7SLei YU ssl, 67*8a08ac10SPatrick Williams ], 68*8a08ac10SPatrick Williams) 69f77189f7SLei YU 70f77189f7SLei YUtest('util', test_util) 7158c26e3fSLei YU#test('phosphor_psu_manager', test_phosphor_psu_manager) 72*8a08ac10SPatrick Williamstest( 73*8a08ac10SPatrick Williams 'phosphor_psu_manager', 74*8a08ac10SPatrick Williams test_phosphor_psu_manager, 75*8a08ac10SPatrick Williams workdir: meson.current_source_dir(), 76*8a08ac10SPatrick Williams) 77