You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

441 lines
9.1 KiB

18 years ago
16 years ago
  1. # Generate a static library target named "bitmaps"
  2. # (with filename libbitmaps.a on Linux)
  3. # Copy the *.xpm files to ${XPM_CPP_PATH}/*.cpp, on change only.
  4. # Compile those *.cpp files and put them into the library, then done.
  5. # NAKed by Dick:
  6. # builds a set of all the .xpm files
  7. # file(GLOB BITMAP_SRCS *.xpm) NO, does not build proper dependency
  8. # generation or allow renaming of bitmap files, NAKed by Dick.
  9. # this is twice now I've had to change this.
  10. # Dick: use this one instead:
  11. set(BITMAP_SRCS
  12. 3d.xpm
  13. Add_Arc.xpm
  14. Add_Bus2Bus.xpm
  15. add_bus.xpm
  16. Add_Circle.xpm
  17. Add_Component.xpm
  18. Add_Corner.xpm
  19. Add_Dashed_Line.xpm
  20. add_dimension.xpm
  21. Add_Entry.xpm
  22. Add_GLabel.xpm
  23. add_hierarchical_label.xpm
  24. add_hierar_pin.xpm
  25. add_hierar_subsheet.xpm
  26. Add_Junction.xpm
  27. Add_Line2Bus.xpm
  28. Add_Line_Label.xpm
  29. Add_Line.xpm
  30. Add_Mires.xpm
  31. Add_Polygon.xpm
  32. Add_Power.xpm
  33. Add_Rectangle.xpm
  34. Add_Text.xpm
  35. Add_Tracks.xpm
  36. Add_Zone_Cutout.xpm
  37. Add_Zone.xpm
  38. anchor.xpm
  39. annotate_down_right.xpm
  40. annotate_right_down.xpm
  41. annotate.xpm
  42. Apply.xpm
  43. auto_associe.xpm
  44. Auto_track_width.xpm
  45. axis3d_back.xpm
  46. axis3d_bottom.xpm
  47. axis3d_front.xpm
  48. axis3d_left.xpm
  49. axis3d_right.xpm
  50. axis3d_top.xpm
  51. axis3d.xpm
  52. backanno.xpm
  53. book.xpm
  54. Break_Bus.xpm
  55. Break_Line.xpm
  56. Browse_Files.xpm
  57. cancel_tool.xpm
  58. Cancel.xpm
  59. checked_ok.xpm
  60. component_select_unit.xpm
  61. component_select_alternate_shape.xpm
  62. config.xpm
  63. CopyBlock.xpm
  64. copy.xpm
  65. copper_layers_setup.cpp
  66. Cursor_Shape.xpm
  67. cursor.xpm
  68. cut.xpm
  69. cvpcb.xpm
  70. dashline.xpm
  71. Datasheet.xpm
  72. del_body.xpm
  73. Delete_Arc.xpm
  74. delete_association.xpm
  75. Delete_Bus.xpm
  76. Delete_Circle.xpm
  77. Delete_Connection.xpm
  78. Delete_Cotation.xpm
  79. Delete_Field.xpm
  80. Delete_GLabel.xpm
  81. Delete_Line.xpm
  82. Delete_Module.xpm
  83. Delete_Net.xpm
  84. Delete_Node.xpm
  85. Delete_Pad.xpm
  86. Delete_Pinsheet.xpm
  87. Delete_Pin.xpm
  88. Delete_Polygon.xpm
  89. Delete_Rectangle.xpm
  90. Delete_Segment.xpm
  91. Delete_Sheet.xpm
  92. Delete_Text.xpm
  93. Delete_Track.xpm
  94. delete.xpm
  95. del_track.xpm
  96. directory.xpm
  97. Display_Options.xpm
  98. down.xpm
  99. Drag_Module.xpm
  100. Drag_Outline_Segment.xpm
  101. Drag_Pad.xpm
  102. Drag_Segment_WithSlope.xpm
  103. Drag_Track_Segment.xpm
  104. drc_off.xpm
  105. drc.xpm
  106. Edges_Sketch.xpm
  107. Edit_Comp_Footprint.xpm
  108. Edit_Component.xpm
  109. Edit_Comp_Ref.xpm
  110. Edit_Comp_Value.xpm
  111. Edit_Module.xpm
  112. Editor.xpm
  113. Edit_Part.xpm
  114. Edit_Sheet.xpm
  115. Edit_Text.xpm
  116. Edit.xpm
  117. eeschema.xpm
  118. Enter_Sheet.xpm
  119. ercerr.xpm
  120. ercgreen.xpm
  121. ercwarn.xpm
  122. erc.xpm
  123. Exit.xpm
  124. Export_Module.xpm
  125. Export_Options_Pad.xpm
  126. export.xpm
  127. fabrication.xpm
  128. File_FootPrint.xpm
  129. fill_zone.xpm
  130. find_xpm.xpm
  131. Flag.xpm
  132. Fonts.xpm
  133. Footprint_Text.xpm
  134. general_deletions.xpm
  135. general_ratsnet.xpm
  136. GLabel2Label.xpm
  137. GLabel2Text.xpm
  138. GL_Change.xpm
  139. Global_Options_Pad.xpm
  140. green.xpm
  141. grid_select.xpm
  142. grid_select_axis.xpm
  143. grid.xpm
  144. hammer.xpm
  145. help.xpm
  146. Hidden_Pin.xpm
  147. Hierarchy_cursor.xpm
  148. Hierarchy_Nav.xpm
  149. hotkeys.xpm
  150. icon_3d.xpm
  151. icon_cvpcb_small.xpm
  152. icon_cvpcb.xpm
  153. icon_eeschema.xpm
  154. icon_gerbview_small.xpm
  155. icon_gerbview.xpm
  156. icon_kicad.xpm
  157. icon_modedit.xpm
  158. icon_pcbnew.xpm
  159. icon_txt.xpm
  160. import3d.xpm
  161. import_hierarchical_label.xpm
  162. Import_Module.xpm
  163. import.xpm
  164. Info.xpm
  165. Insert_Module_Board.xpm
  166. Invert_Module.xpm
  167. invisible_text.xpm
  168. jigsaw.xpm
  169. kicad_icon_small.xpm
  170. Label2GLabel.xpm
  171. Label2Text.xpm
  172. label.xpm
  173. Lang_Catalan.xpm
  174. Lang_chinese.xpm
  175. Lang_Cs.xpm
  176. Lang_Default.xpm
  177. Lang_De.xpm
  178. Lang_En.xpm
  179. Lang_Es.xpm
  180. Lang_Fr.xpm
  181. Lang_Fi.xpm
  182. Lang_Hu.xpm
  183. Lang_It.xpm
  184. Lang_Ko.xpm
  185. Lang_Nl.xpm
  186. Lang_Pl.xpm
  187. Lang_Pt.xpm
  188. Lang_Ru.xpm
  189. Lang_Sl.xpm
  190. Language.xpm
  191. layers_manager.xpm
  192. Leave_Sheet.xpm
  193. left.xpm
  194. libedit_icon.xpm
  195. libedit.xpm
  196. libedprt.xpm
  197. Lib_next.xpm
  198. Lib_previous.xpm
  199. library_browse.xpm
  200. library_update.xpm
  201. library.xpm
  202. libsavem.xpm
  203. libview.xpm
  204. Lines90.xpm
  205. Load_Module_Board.xpm
  206. Load_Module_Lib.xpm
  207. local_ratsnet.xpm
  208. Locked.xpm
  209. mirepcb.xpm
  210. Mirror_H.xpm
  211. Mirror_V.xpm
  212. modedit.xpm
  213. Mode_Module.xpm
  214. Mode_Track.xpm
  215. modratsnest.xpm
  216. Module_Check.xpm
  217. Modul_Edit.xpm
  218. module_filtered_list.xpm
  219. module_full_list.xpm
  220. module_options.xpm
  221. Module_Ratsnet.xpm
  222. module.xpm
  223. Morgan1.xpm
  224. Morgan2.xpm
  225. Move_Arc.xpm
  226. Move_Circle.xpm
  227. Move_Field.xpm
  228. Move_GLabel.xpm
  229. Move_Line.xpm
  230. Move_Module.xpm
  231. Move_Pad.xpm
  232. Move_Pinsheet.xpm
  233. Move_Pin.xpm
  234. Move_Polygon.xpm
  235. Move_Rectangle.xpm
  236. Move_Sheet.xpm
  237. Move_Text.xpm
  238. Move_Track_Segment.xpm
  239. Move_Track.xpm
  240. Move.xpm
  241. mw_Add_Gap.xpm
  242. mw_Add_Line.xpm
  243. mw_Add_Shape.xpm
  244. mw_Add_stub_arc.xpm
  245. mw_Add_Stub.xpm
  246. mw_toolbar.xpm
  247. Net_HighLight.xpm
  248. netlist.xpm
  249. Net_Locked.xpm
  250. Net_UnLocked.xpm
  251. new_component.xpm
  252. new_cvpcb.xpm
  253. New_FootPrint.xpm
  254. New_Library.xpm
  255. New_Module.xpm
  256. new_pcb.xpm
  257. New_Project.xpm
  258. new_sch.xpm
  259. new_txt.xpm
  260. new.xpm
  261. noconn.xpm
  262. Normal.xpm
  263. online_help.xpm
  264. Open_Library.xpm
  265. Open_Project.xpm
  266. open.xpm
  267. options_all_tracks_and_vias.xpm
  268. Options_All_Tracks.xpm
  269. Options_All_Vias.xpm
  270. Options_Arc.xpm
  271. Options_Circle.xpm
  272. Options_Module.xpm
  273. Options_New_Pad.xpm
  274. Options_Pad.xpm
  275. Options_Pinsheet.xpm
  276. Options_Pin.xpm
  277. Options_Rectangle.xpm
  278. Options_Segment.xpm
  279. Options_Text.xpm
  280. Options_Tracks.xpm
  281. Options_Track.xpm
  282. Options_Vias.xpm
  283. opt_show_polygon.xpm
  284. Orient.xpm
  285. Pad_Sketch.xpm
  286. pad.xpm
  287. pads_mask_layers.xpm
  288. palette.xpm
  289. part_properties.xpm
  290. paste.xpm
  291. pcbnew.xpm
  292. PcbOffset.xpm
  293. pin2pin.xpm
  294. Pin_Name_to.xpm
  295. Pin_Number_to.xpm
  296. Pin_Size_to.xpm
  297. pinorient_right.xpm
  298. pinorient_left.xpm
  299. pinorient_up.xpm
  300. pinorient_down.xpm
  301. pinshape_normal.xpm
  302. pinshape_invert.xpm
  303. pinshape_clock_normal.xpm
  304. pinshape_clock_invert.xpm
  305. pinshape_active_low_input.xpm
  306. pinshape_clock_active_low.xpm
  307. pinshape_active_low_output.xpm
  308. pinshape_clock_fall.xpm
  309. pinshape_nonlogic.xpm
  310. pintype_input.xpm
  311. pintype_output.xpm
  312. pintype_bidi.xpm
  313. pintype_3states.xpm
  314. pintype_passive.xpm
  315. pintype_notspecif.xpm
  316. pintype_powerinput.xpm
  317. pintype_poweroutput.xpm
  318. pintype_opencoll.xpm
  319. pintype_openemit.xpm
  320. pintype_noconnect.xpm
  321. Pin_to.xpm
  322. pin.xpm
  323. plot_HPG.xpm
  324. plot_PS.xpm
  325. plot_xpm.xpm
  326. polar.xpm
  327. Post_Compo.xpm
  328. Post_Drill.xpm
  329. Post_Module.xpm
  330. preference.xpm
  331. print.xpm
  332. ratsnest.xpm
  333. Read_SetUp.xpm
  334. redo.xpm
  335. red.xpm
  336. reload2.xpm
  337. reload.xpm
  338. Resize_Sheet.xpm
  339. right.xpm
  340. Rotate_Field.xpm
  341. Rotate_GLabel.xpm
  342. Rotate_Module-.xpm
  343. Rotate_Module+.xpm
  344. Rotate_Pin.xpm
  345. Rotate-.xpm
  346. Rotate+.xpm
  347. rotate-x.xpm
  348. rotate+x.xpm
  349. rotate-y.xpm
  350. rotate+y.xpm
  351. rotate-z.xpm
  352. rotate+z.xpm
  353. save_as.xpm
  354. Save_CmpStuff.xpm
  355. Save_Library.xpm
  356. Save_NetList.xpm
  357. Save_Project.xpm
  358. Save_SetUp.xpm
  359. save.xpm
  360. schematic.xpm
  361. select_grid.xpm
  362. Select_Layer_Pair.xpm
  363. Select_W_Layer.xpm
  364. shape_3d.xpm
  365. sheetset.xpm
  366. showdcode.xpm
  367. showmodedge.xpm
  368. showtrack.xpm
  369. Show_Zone.xpm
  370. Show_Zone_Disable.xpm
  371. Show_Zone_Outline_Only.xpm
  372. Swap_Layer.xpm
  373. Text_Sketch.xpm
  374. tool_ratsnet.xpm
  375. tools.xpm
  376. Track_Locked.xpm
  377. Track_Sketch.xpm
  378. Track_UnLocked.xpm
  379. transistor.xpm
  380. treensel.xpm
  381. treesel.xpm
  382. undelete.xpm
  383. undo.xpm
  384. unit_inch.xpm
  385. unit_mm.xpm
  386. unknown.xpm
  387. Unlocked.xpm
  388. unzip.xpm
  389. Update_Module_Board.xpm
  390. up.xpm
  391. Via_Sketch.xpm
  392. viewlibs_icon.xpm
  393. Web_support.xpm
  394. Width_Net.xpm
  395. Width_Segment.xpm
  396. Width_Track_Via.xpm
  397. Width_Track.xpm
  398. Width_Vias.xpm
  399. zip_tool.xpm
  400. zip.xpm
  401. Zoom_1.xpm
  402. zoom_auto.xpm
  403. Zoom_Center.xpm
  404. zoom_in.xpm
  405. zoomoins3d.xpm
  406. zoom_out.xpm
  407. zoompage3d.xpm
  408. Zoom_Page.xpm
  409. zoomplus3d.xpm
  410. zoom_redraw.xpm
  411. zoomrefr3d.xpm
  412. Zoom_Selected.xpm
  413. Zoom_Select.xpm
  414. zoom.xpm
  415. )
  416. # Get the path of the *.xpm files into "PATH"
  417. set(PATH ${CMAKE_CURRENT_SOURCE_DIR})
  418. #message("PATH = ${PATH}")
  419. # The name of the directory to put the copied and renamed *.xpm files into.
  420. # As files are copied they are renamed to *.cpp.
  421. set(XPM_CPP_PATH "${CMAKE_BINARY_DIR}/bitmaps/auto_renamed_to_cpp"
  422. CACHE PATH "path to store renamed .xpm files for compilation")
  423. foreach(LOOP_VAR ${BITMAP_SRCS})
  424. get_filename_component(BASENAME ${LOOP_VAR} NAME_WE)
  425. set(CPP_BITMAP "${XPM_CPP_PATH}/${BASENAME}.cpp")
  426. add_custom_command(
  427. OUTPUT ${CPP_BITMAP}
  428. COMMAND "${CMAKE_COMMAND}" -E copy "${PATH}/${BASENAME}.xpm" "${CPP_BITMAP}"
  429. DEPENDS ${BASENAME}.xpm)
  430. list(APPEND CPP_BITMAPS ${CPP_BITMAP})
  431. set_source_files_properties(${CPP_BITMAP} PROPERTIES COMPILE_FLAGS -DXPMMAIN)
  432. endforeach(LOOP_VAR)
  433. add_library(bitmaps ${CPP_BITMAPS})