##// END OF EJS Templates
Added workaround for meson's rcc call with plugins....
jeandet -
r651:e351760d2ab7
parent child
Show More
@@ -1,35 +1,36
1 project('SciQLOP', 'cpp',default_options : ['cpp_std=c++14'])
1 project('SciQLOP', 'cpp',default_options : ['cpp_std=c++14'])
2
2
3 qt5 = import('qt5')
3 qt5 = import('qt5')
4 qt5core = dependency('qt5', modules : 'Core')
4 qt5core = dependency('qt5', modules : 'Core')
5 qt5widgets = dependency('qt5', modules : 'Widgets')
5 qt5widgets = dependency('qt5', modules : 'Widgets')
6 qt5gui = dependency('qt5', modules : 'Gui')
6 qt5gui = dependency('qt5', modules : 'Gui')
7 qt5svg = dependency('qt5', modules : 'Svg')
7 qt5svg = dependency('qt5', modules : 'Svg')
8 qt5xml = dependency('qt5', modules : 'Xml')
8 qt5xml = dependency('qt5', modules : 'Xml')
9 qt5network = dependency('qt5', modules : 'Network')
9 qt5network = dependency('qt5', modules : 'Network')
10 qt5printsupport = dependency('qt5', modules : 'PrintSupport')
10 qt5printsupport = dependency('qt5', modules : 'PrintSupport')
11 qt5test = dependency('qt5', modules : 'Test')
11 qt5test = dependency('qt5', modules : 'Test')
12
12
13 moc = find_program('moc','moc-qt5')
13 moc = find_program('moc-qt5','moc')
14 rcc = find_program('rcc-qt5','rcc')
14
15
15 subdir('core')
16 subdir('core')
16 subdir('gui')
17 subdir('gui')
17 subdir('app')
18 subdir('app')
18 subdir('plugins')
19 subdir('plugins')
19
20
20 if build_machine.system()=='darwin'
21 if build_machine.system()=='darwin'
21 install_data('build_cfg/mac/sciqlopLOGO.icns', install_dir : 'Contents/Resources')
22 install_data('build_cfg/mac/sciqlopLOGO.icns', install_dir : 'Contents/Resources')
22 install_data('build_cfg/mac/Info.plist', install_dir : 'Contents')
23 install_data('build_cfg/mac/Info.plist', install_dir : 'Contents')
23 meson.add_install_script('build_cfg/mac/install_script.sh')
24 meson.add_install_script('build_cfg/mac/install_script.sh')
24 elif host_machine.system()=='windows'
25 elif host_machine.system()=='windows'
25 meson.add_install_script('build_cfg/windows/install_script.sh')
26 meson.add_install_script('build_cfg/windows/install_script.sh')
26 endif
27 endif
27
28
28 cppcheck = find_program('cppcheck', required : false)
29 cppcheck = find_program('cppcheck', required : false)
29
30
30 if cppcheck.found()
31 if cppcheck.found()
31 run_target('cppcheck',
32 run_target('cppcheck',
32 command : [cppcheck, '--enable=all',
33 command : [cppcheck, '--enable=all',
33 '--project=' + join_paths(meson.build_root(), 'compile_commands.json')]
34 '--project=' + join_paths(meson.build_root(), 'compile_commands.json')]
34 )
35 )
35 endif
36 endif
@@ -1,61 +1,70
1
1
2 amdaplugin_moc_headers = [
2 amdaplugin_moc_headers = [
3 'include/AmdaPlugin.h'
3 'include/AmdaPlugin.h'
4 ]
4 ]
5
5
6 amdaplugin_sources = [
6 amdaplugin_sources = [
7 'src/AmdaDefs.cpp',
7 'src/AmdaDefs.cpp',
8 'src/AmdaParser.cpp',
8 'src/AmdaParser.cpp',
9 'src/AmdaPlugin.cpp',
9 'src/AmdaPlugin.cpp',
10 'src/AmdaProvider.cpp',
10 'src/AmdaProvider.cpp',
11 'src/AmdaResultParser.cpp'
11 'src/AmdaResultParser.cpp'
12 ]
12 ]
13
13
14 amdaplugin_ui_files = []
14 amdaplugin_ui_files = []
15 amdaplugin_resources_files = [
15 amdaplugin_resources_files = [
16 'resources/amdaresources.qrc'
16 'resources/amdaresources.qrc'
17 ]
17 ]
18
18
19 amdaplugin_inc = include_directories(['include', '../../plugin/include'])
19 amdaplugin_inc = include_directories(['include', '../../plugin/include'])
20
20
21 gen = generator(moc,
21 moc_gen = generator(moc,
22 output : 'moc_@BASENAME@.cpp',
22 output : 'moc_@BASENAME@.cpp',
23 arguments : ['@INPUT@',
23 arguments : ['@INPUT@',
24 '-DPLUGIN_JSON_FILE_PATH="'+meson.source_root()+'/plugins/amda/resources/amda.json"',
24 '-DPLUGIN_JSON_FILE_PATH="'+meson.source_root()+'/plugins/amda/resources/amda.json"',
25 '-I', meson.current_source_dir()+'/include',
25 '-I', meson.current_source_dir()+'/include',
26 '-I', meson.current_source_dir()+'/../../plugin/include',
26 '-I', meson.current_source_dir()+'/../../plugin/include',
27 '-o', '@OUTPUT@'])
27 '-o', '@OUTPUT@'])
28
28
29 amdaplugin_moc_plugin_files = gen.process(amdaplugin_moc_headers)
29 rcc_gen = generator(rcc,
30 output : 'qrc_@BASENAME@.cpp',
31 arguments : ['--name=@BASENAME@"',
32 '--output',
33 '@OUTPUT@',
34 '@INPUT@'])
35
36 amdaplugin_moc_plugin_files = moc_gen.process(amdaplugin_moc_headers)
37
38 amdaplugin_rcc_plugin_files = rcc_gen.process(amdaplugin_resources_files)
30
39
31 amdaplugin_moc_files = qt5.preprocess(
40 amdaplugin_moc_files = qt5.preprocess(
32 ui_files : amdaplugin_ui_files,
41 ui_files : amdaplugin_ui_files)
33 qresources : amdaplugin_resources_files)
34
42
35 sciqlop_amdaplugin = library('amdaplugin',
43 sciqlop_amdaplugin = library('amdaplugin',
36 amdaplugin_sources,
44 amdaplugin_sources,
37 amdaplugin_moc_files,
45 amdaplugin_moc_files,
46 amdaplugin_rcc_plugin_files,
38 amdaplugin_moc_plugin_files,
47 amdaplugin_moc_plugin_files,
39 cpp_args : '-DAMDA_LIB',
48 cpp_args : '-DAMDA_LIB',
40 link_with : [sciqlop_core, sciqlop_gui],
49 link_with : [sciqlop_core, sciqlop_gui],
41 include_directories : [amdaplugin_inc, core_inc, gui_inc],
50 include_directories : [amdaplugin_inc, core_inc, gui_inc],
42 dependencies : [qt5core, qt5gui, qt5widgets, qt5network],
51 dependencies : [qt5core, qt5gui, qt5widgets, qt5network],
43 install : true
52 install : true
44 )
53 )
45
54
46
55
47 tests = [
56 tests = [
48 [['tests/TestAmdaParser.cpp'],'test_amda_parser','AMDA parser test'],
57 [['tests/TestAmdaParser.cpp'],'test_amda_parser','AMDA parser test'],
49 [['tests/TestAmdaResultParser.cpp'],'test_amda_result_parser','AMDA result parser test'],
58 [['tests/TestAmdaResultParser.cpp'],'test_amda_result_parser','AMDA result parser test'],
50 [['tests/TestAmdaAcquisition.cpp'],'test_amda_acquisition','AMDA Acquisition test']
59 [['tests/TestAmdaAcquisition.cpp'],'test_amda_acquisition','AMDA Acquisition test']
51 ]
60 ]
52
61
53 foreach unit_test : tests
62 foreach unit_test : tests
54 test_moc_files = qt5.preprocess(moc_sources : unit_test[0])
63 test_moc_files = qt5.preprocess(moc_sources : unit_test[0])
55 test_exe = executable(unit_test[1],unit_test[0] , test_moc_files,
64 test_exe = executable(unit_test[1],unit_test[0] , test_moc_files,
56 link_with : [sciqlop_core, sciqlop_amdaplugin, sciqlop_gui],
65 link_with : [sciqlop_core, sciqlop_amdaplugin, sciqlop_gui],
57 include_directories : [core_inc, amdaplugin_inc, gui_inc],
66 include_directories : [core_inc, amdaplugin_inc, gui_inc],
58 cpp_args : ['-DAMDA_TESTS_RESOURCES_DIR="'+meson.current_source_dir()+'/tests-resources"'],
67 cpp_args : ['-DAMDA_TESTS_RESOURCES_DIR="'+meson.current_source_dir()+'/tests-resources"'],
59 dependencies : [qt5core, qt5widgets, qt5network,qt5test])
68 dependencies : [qt5core, qt5widgets, qt5network,qt5test])
60 test(unit_test[2], test_exe, args: ['-teamcity', '-o', '@0@.teamcity.txt'.format(unit_test[1])], timeout: 3 * 60)
69 test(unit_test[2], test_exe, args: ['-teamcity', '-o', '@0@.teamcity.txt'.format(unit_test[1])], timeout: 3 * 60)
61 endforeach
70 endforeach
General Comments 0
You need to be logged in to leave comments. Login now