@@ -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 |
|
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