meson.build 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. # meson.build is a fast and furious build system
  2. # minimum meson version required for best results: 0.32.0
  3. project('aqemu', 'cpp', default_options : ['cpp_std=c++11', 'warning_level=3'])
  4. qt5 = import('qt5')
  5. qt5dep = dependency('qt5', modules : ['Core', 'Gui', 'Widgets', 'Network', 'Test', 'PrintSupport', 'DBus'])
  6. vncclient = dependency('libvncclient')
  7. incdir = include_directories('src')
  8. add_global_arguments( ['-DVNC_DISPLAY', '-DQTONLY'] , language : 'cpp')
  9. aqemu_headers = ['src/No_Boot_Device.h',
  10. 'src/Highlighted_Label.h',
  11. 'src/main.h',
  12. 'src/Service.h',
  13. 'src/Run_Guard.h',
  14. 'src/QEMU_Docopt.h',
  15. 'src/IP_Edit.h',
  16. 'src/Dialog_Button_Box.h',
  17. 'src/docopt/docopt.h',
  18. 'src/Settings_Widget.h',
  19. 'src/QDom.h',
  20. 'src/tinyxml2.h',
  21. 'src/About_Window.h',
  22. 'src/Add_New_Device_Window.h',
  23. 'src/Add_Port_Window.h',
  24. 'src/Add_USB_Port_Window.h',
  25. 'src/Advanced_Settings_Window.h',
  26. 'src/Boot_Device_Window.h',
  27. 'src/Convert_HDD_Image_Window.h',
  28. 'src/Copy_VM_Window.h',
  29. 'src/Create_HDD_Image_Window.h',
  30. 'src/Create_Template_Window.h',
  31. 'src/Delete_VM_Files_Window.h',
  32. 'src/Device_Manager_Widget.h',
  33. 'src/Edit_Emulator_Version_Window.h',
  34. 'src/Emulator_Control_Window.h',
  35. 'src/Error_Log_Window.h',
  36. 'src/First_Start_Wizard.h',
  37. 'src/Folder_Sharing_Widget.h',
  38. 'src/HDD_Image_Info.h',
  39. 'src/Main_Window.h',
  40. 'src/Monitor_Window.h',
  41. 'src/Network_Widget.h',
  42. 'src/Old_Network_Widget.h',
  43. 'src/Ports_Tab_Widget.h',
  44. 'src/Properties_Window.h',
  45. 'src/Emulator_Options_Window.h',
  46. 'src/Select_Icon_Window.h',
  47. 'src/SMP_Settings_Window.h',
  48. 'src/Snapshot_Properties_Window.h',
  49. 'src/Snapshots_Window.h',
  50. 'src/SPICE_Settings_Widget.h',
  51. 'src/System_Info.h',
  52. 'src/Utils.h',
  53. 'src/VM.h',
  54. 'src/VM_Devices.h',
  55. 'src/VM_Wizard_Window.h',
  56. 'src/VNC_Password_Window.h',
  57. 'src/Embedded_Display/Machine_View.h',
  58. 'src/Embedded_Display/remoteview.h',
  59. 'src/Embedded_Display/vncclientthread.h',
  60. 'src/Embedded_Display/vncview.h']
  61. aqemu_sources = ['src/No_Boot_Device.cpp',
  62. 'src/Highlighted_Label.cpp',
  63. 'src/Service.cpp',
  64. 'src/Run_Guard.cpp',
  65. 'src/QEMU_Docopt.cpp',
  66. 'src/IP_Edit.cpp',
  67. 'src/Dialog_Button_Box.cpp',
  68. 'src/docopt/docopt.cpp',
  69. 'src/Settings_Widget.cpp',
  70. 'src/QDom.cpp',
  71. 'src/tinyxml2.cpp',
  72. 'src/About_Window.cpp',
  73. 'src/Add_New_Device_Window.cpp',
  74. 'src/Add_Port_Window.cpp',
  75. 'src/Add_USB_Port_Window.cpp',
  76. 'src/Advanced_Settings_Window.cpp',
  77. 'src/Boot_Device_Window.cpp',
  78. 'src/Convert_HDD_Image_Window.cpp',
  79. 'src/Copy_VM_Window.cpp',
  80. 'src/Create_HDD_Image_Window.cpp',
  81. 'src/Create_Template_Window.cpp',
  82. 'src/Delete_VM_Files_Window.cpp',
  83. 'src/Device_Manager_Widget.cpp',
  84. 'src/Edit_Emulator_Version_Window.cpp',
  85. 'src/Emulator_Control_Window.cpp',
  86. 'src/Error_Log_Window.cpp',
  87. 'src/First_Start_Wizard.cpp',
  88. 'src/Folder_Sharing_Widget.cpp',
  89. 'src/HDD_Image_Info.cpp',
  90. 'src/main.cpp',
  91. 'src/Main_Window.cpp',
  92. 'src/Monitor_Window.cpp',
  93. 'src/Network_Widget.cpp',
  94. 'src/Old_Network_Widget.cpp',
  95. 'src/Ports_Tab_Widget.cpp',
  96. 'src/Properties_Window.cpp',
  97. 'src/Emulator_Options_Window.cpp',
  98. 'src/Select_Icon_Window.cpp',
  99. 'src/SMP_Settings_Window.cpp',
  100. 'src/Snapshot_Properties_Window.cpp',
  101. 'src/Snapshots_Window.cpp',
  102. 'src/SPICE_Settings_Widget.cpp',
  103. 'src/System_Info.cpp',
  104. 'src/Utils.cpp',
  105. 'src/VM.cpp',
  106. 'src/VM_Devices.cpp',
  107. 'src/VM_Wizard_Window.cpp',
  108. 'src/VNC_Password_Window.cpp',
  109. 'src/Embedded_Display/Machine_View.cpp',
  110. 'src/Embedded_Display/remoteview.cpp',
  111. 'src/Embedded_Display/vncclientthread.cpp',
  112. 'src/Embedded_Display/vncview.cpp']
  113. aqemu_resources = ['resources/icons.qrc',
  114. 'resources/shared_images.qrc']
  115. aqemu_ui = ['src/No_Boot_Device.ui',
  116. 'src/About_Window.ui',
  117. 'src/Add_New_Device_Window.ui',
  118. 'src/Add_Port_Window.ui',
  119. 'src/Add_USB_Port_Window.ui',
  120. 'src/Advanced_Settings_Window.ui',
  121. 'src/Advanced_Options.ui',
  122. 'src/Architecture_Options.ui',
  123. 'src/Boot_Device_Window.ui',
  124. 'src/Convert_HDD_Image_Window.ui',
  125. 'src/Copy_VM_Window.ui',
  126. 'src/Create_HDD_Image_Window.ui',
  127. 'src/Create_Template_Window.ui',
  128. 'src/Delete_VM_Files_Window.ui',
  129. 'src/Device_Manager_Widget.ui',
  130. 'src/Edit_Emulator_Version_Window.ui',
  131. 'src/Emulator_Control_Window.ui',
  132. 'src/Error_Log_Window.ui',
  133. 'src/First_Start_Wizard.ui',
  134. 'src/Folder_Sharing_Widget.ui',
  135. 'src/KVM_Options.ui',
  136. 'src/Main_Window.ui',
  137. 'src/Monitor_Window.ui',
  138. 'src/Network_Widget.ui',
  139. 'src/Old_Network_Widget.ui',
  140. 'src/Ports_Tab_Widget.ui',
  141. 'src/Properties_Window.ui',
  142. 'src/Emulator_Options_Window.ui',
  143. 'src/Select_Icon_Window.ui',
  144. 'src/Settings_Window.ui',
  145. 'src/SMP_Settings_Window.ui',
  146. 'src/Snapshot_Properties_Window.ui',
  147. 'src/Snapshots_Window.ui',
  148. 'src/SPICE_Settings_Widget.ui',
  149. 'src/VM_Wizard_Window.ui',
  150. 'src/VNC_Password_Window.ui']
  151. prep = qt5.preprocess(
  152. moc_headers : aqemu_headers,
  153. ui_files : aqemu_ui,
  154. qresources : aqemu_resources,
  155. include_directories : incdir)
  156. q5exe = executable('aqemu',
  157. sources : [aqemu_sources, prep],
  158. dependencies : [qt5dep, vncclient],
  159. include_directories : incdir, install : true)
  160. install_man('resources/docs/aqemu.1')
  161. install_subdir('resources/os_icons/', install_dir : 'share/aqemu')
  162. install_subdir('resources/os_templates/', install_dir : 'share/aqemu')
  163. install_subdir('resources/docs/', install_dir : 'share/aqemu')
  164. install_data('TODO', install_dir : 'share/doc/aqemu')
  165. install_data('CHANGELOG', install_dir : 'share/doc/aqemu')
  166. install_data('AUTHORS', install_dir : 'share/doc/aqemu')
  167. install_data('README', install_dir : 'share/doc/aqemu')
  168. install_data('resources/menu_data/aqemu.png', install_dir : 'share/pixmaps')
  169. install_data('resources/menu_data/aqemu.desktop', install_dir : 'share/applications')
  170. install_data('resources/menu_data/aqemu.appdata.xml', install_dir : 'share/appdata')
  171. # TODO: qt5 translations