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.

315 lines
8.3 KiB

16 years ago
  1. set( MAKE_LINK_MAPS false )
  2. add_definitions( -DEESCHEMA )
  3. include_directories( BEFORE ${INC_BEFORE} )
  4. include_directories(
  5. ./dialogs
  6. ../common
  7. ../common/dialogs
  8. ${INC_AFTER}
  9. )
  10. set( EESCHEMA_DLGS
  11. dialogs/dialog_color_config.cpp
  12. dialogs/dialog_annotate.cpp
  13. dialogs/dialog_annotate_base.cpp
  14. dialogs/dialog_bom.cpp
  15. dialogs/dialog_bom_base.cpp
  16. dialogs/dialog_bom_cfg_keywords.cpp
  17. dialogs/dialog_lib_edit_text.cpp
  18. dialogs/dialog_lib_edit_text_base.cpp
  19. dialogs/dialog_edit_component_in_lib.cpp
  20. dialogs/dialog_edit_component_in_lib_base.cpp
  21. dialogs/dialog_edit_component_in_schematic_fbp.cpp
  22. dialogs/dialog_edit_component_in_schematic.cpp
  23. dialogs/dialog_edit_label.cpp
  24. dialogs/dialog_edit_label_base.cpp
  25. dialogs/dialog_edit_libentry_fields_in_lib.cpp
  26. dialogs/dialog_edit_libentry_fields_in_lib_base.cpp
  27. dialogs/dialog_edit_one_field.cpp
  28. dialogs/dialog_eeschema_config.cpp
  29. dialogs/dialog_eeschema_config_fbp.cpp
  30. dialogs/dialog_eeschema_options_base.cpp
  31. dialogs/dialog_eeschema_options.cpp
  32. dialogs/dialog_erc.cpp
  33. dialogs/dialog_erc_base.cpp
  34. dialogs/dialog_libedit_dimensions.cpp
  35. dialogs/dialog_libedit_dimensions_base.cpp
  36. dialogs/dialog_lib_edit_draw_item.cpp
  37. dialogs/dialog_lib_edit_draw_item_base.cpp
  38. dialogs/dialog_lib_edit_pin.cpp
  39. dialogs/dialog_lib_edit_pin_base.cpp
  40. dialogs/dialog_lib_new_component.cpp
  41. dialogs/dialog_lib_new_component_base.cpp
  42. dialogs/dialog_netlist.cpp
  43. dialogs/dialog_netlist_base.cpp
  44. dialogs/dialog_plot_schematic_base.cpp
  45. dialogs/dialog_plot_schematic.cpp
  46. dialogs/dialog_print_using_printer_base.cpp
  47. dialogs/dialog_print_using_printer.cpp
  48. dialogs/dialog_sch_edit_sheet_pin.cpp
  49. dialogs/dialog_sch_edit_sheet_pin_base.cpp
  50. dialogs/dialog_sch_sheet_props.cpp
  51. dialogs/dialog_sch_sheet_props_base.cpp
  52. dialogs/dialog_schematic_find.cpp
  53. dialogs/dialog_schematic_find_base.cpp
  54. )
  55. set( EESCHEMA_SRCS
  56. annotate.cpp
  57. backanno.cpp
  58. block.cpp
  59. block_libedit.cpp
  60. busentry.cpp
  61. bus-wire-junction.cpp
  62. class_drc_erc_item.cpp
  63. class_libentry.cpp
  64. class_library.cpp
  65. class_netlist_object.cpp
  66. cmp_library_keywords.cpp
  67. cmp_library_lexer.cpp
  68. component_references_lister.cpp
  69. controle.cpp
  70. cross-probing.cpp
  71. database.cpp
  72. ${EESCHEMA_DLGS}
  73. edit_component_in_schematic.cpp
  74. edit_bitmap.cpp
  75. edit_label.cpp
  76. eelibs_read_libraryfiles.cpp
  77. eeredraw.cpp
  78. eeschema.cpp
  79. eeschema_config.cpp
  80. erc.cpp
  81. events_called_functions_for_edit.cpp
  82. files-io.cpp
  83. find.cpp
  84. getpart.cpp
  85. hierarch.cpp
  86. hotkeys.cpp
  87. libarch.cpp
  88. libedit.cpp
  89. libeditframe.cpp
  90. libedit_onleftclick.cpp
  91. libedit_onrightclick.cpp
  92. libedit_plot_component.cpp
  93. libedit_undo_redo.cpp
  94. lib_arc.cpp
  95. lib_bezier.cpp
  96. lib_circle.cpp
  97. lib_collectors.cpp
  98. lib_draw_item.cpp
  99. lib_export.cpp
  100. lib_field.cpp
  101. lib_pin.cpp
  102. lib_polyline.cpp
  103. lib_rectangle.cpp
  104. lib_text.cpp
  105. libfield.cpp
  106. load_one_schematic_file.cpp
  107. menubar.cpp
  108. menubar_libedit.cpp
  109. netform.cpp
  110. netlist.cpp
  111. onleftclick.cpp
  112. onrightclick.cpp
  113. operations_on_items_lists.cpp
  114. pinedit.cpp
  115. plot_schematic_DXF.cpp
  116. plot_schematic_HPGL.cpp
  117. plot_schematic_PS.cpp
  118. plot_schematic_PDF.cpp
  119. plot_schematic_SVG.cpp
  120. sch_base_frame.cpp
  121. sch_bitmap.cpp
  122. sch_bus_entry.cpp
  123. sch_collectors.cpp
  124. sch_component.cpp
  125. sch_field.cpp
  126. sch_junction.cpp
  127. sch_line.cpp
  128. sch_marker.cpp
  129. sch_no_connect.cpp
  130. sch_screen.cpp
  131. sch_sheet.cpp
  132. sch_sheet_path.cpp
  133. sch_sheet_pin.cpp
  134. sch_text.cpp
  135. schedit.cpp
  136. schematic_undo_redo.cpp
  137. schframe.cpp
  138. selpart.cpp
  139. sheet.cpp
  140. sheetlab.cpp
  141. symbdraw.cpp
  142. symbedit.cpp
  143. template_fieldnames_keywords.cpp
  144. template_fieldnames.cpp
  145. tool_lib.cpp
  146. tool_sch.cpp
  147. tool_viewlib.cpp
  148. transform.cpp
  149. viewlib_frame.cpp
  150. viewlibs.cpp
  151. # This file does not look common.
  152. # Keep it after template_fieldnames_keywords.cpp
  153. ../common/sch_item_struct.cpp
  154. )
  155. set( EESCHEMA_COMMON_SRCS
  156. ../common/dialogs/dialog_page_settings.cpp
  157. ../common/base_screen.cpp
  158. ../common/eda_text.cpp
  159. ../common/class_page_info.cpp
  160. ../common/base_units.cpp
  161. )
  162. if( MINGW )
  163. # EESCHEMA_RESOURCES variable is set by the macro.
  164. mingw_resource_compiler( eeschema )
  165. endif()
  166. if( APPLE )
  167. set( EESCHEMA_RESOURCES eeschema.icns eeschema_doc.icns )
  168. set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/eeschema.icns" PROPERTIES
  169. MACOSX_PACKAGE_LOCATION Resources
  170. )
  171. set( MACOSX_BUNDLE_ICON_FILE eeschema.icns )
  172. set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.eeschema )
  173. endif()
  174. # auto-generate cmp_library_lexer.h and cmp_library_keywords.cpp for the component
  175. # library format.
  176. make_lexer(
  177. ${CMAKE_CURRENT_SOURCE_DIR}/cmp_library.keywords
  178. ${CMAKE_CURRENT_SOURCE_DIR}/cmp_library_lexer.h
  179. ${CMAKE_CURRENT_SOURCE_DIR}/cmp_library_keywords.cpp
  180. TLIB_T
  181. )
  182. make_lexer(
  183. ${CMAKE_CURRENT_SOURCE_DIR}/template_fieldnames.keywords
  184. ${CMAKE_CURRENT_SOURCE_DIR}/template_fieldnames_lexer.h
  185. ${CMAKE_CURRENT_SOURCE_DIR}/template_fieldnames_keywords.cpp
  186. TFIELD_T
  187. # Pass header file with dependency on *_lexer.h as extra_arg
  188. template_fieldnames.h
  189. )
  190. make_lexer(
  191. ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_cfg.keywords
  192. ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_cfg_lexer.h
  193. ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_cfg_keywords.cpp
  194. T_BOMCFG_T
  195. # Pass header file with dependency on *_lexer.h as extra_arg
  196. dialogs/dialog_bom_cfg.h
  197. )
  198. # Create a C++ compilable string initializer containing html text into a *.h file:
  199. add_custom_command(
  200. OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h
  201. COMMAND ${CMAKE_COMMAND}
  202. -DinputFile=${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help.html
  203. -DoutputFile=${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h
  204. -P ${CMAKE_MODULE_PATH}/Html2C.cmake
  205. DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help.html
  206. COMMENT "creating ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h
  207. from ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help.html"
  208. )
  209. set_source_files_properties( dialogs/dialog_bom.cpp
  210. PROPERTIES
  211. OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h
  212. )
  213. # not ready for even building yet:
  214. if( false AND USE_KIWAY_DLLS )
  215. add_executable( eeschema WIN32 MACOSX_BUNDLE
  216. ../common/single_top.cpp
  217. )
  218. target_link_libraries( eeschema
  219. common
  220. ${wxWidgets_LIBRARIES}
  221. )
  222. add_library( eeschema_dso MODULE
  223. ${EESCHEMA_SRCS}
  224. ${EESCHEMA_COMMON_SRCS}
  225. ${EESCHEMA_RESOURCES}
  226. )
  227. set_target_properties( eeschema_dso PROPERTIES
  228. # keep whatever file extension is supplied by SUFFIX, do not use the PREFIX,
  229. # and set the basename. The result is eeschema.so or eeschema.dll.
  230. OUTPUT_NAME eeschema
  231. PREFIX ""
  232. )
  233. if( APPLE )
  234. set_target_properties( eeschema_dso PROPERTIES
  235. MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
  236. )
  237. endif()
  238. if( MAKE_LINK_MAPS )
  239. # generate a link map with cross reference
  240. set_target_properties( eeschema_dso PROPERTIES
  241. LINK_FLAGS "-Wl,-cref -Wl,-Map=eeschema_dso.map"
  242. )
  243. endif()
  244. target_link_libraries( eeschema_dso
  245. common
  246. bitmaps
  247. polygon
  248. ${wxWidgets_LIBRARIES}
  249. ${GDI_PLUS_LIBRARIES}
  250. )
  251. install( TARGETS eeschema_dso
  252. DESTINATION ${KICAD_BIN}
  253. COMPONENT binary
  254. )
  255. else()
  256. add_executable( eeschema WIN32 MACOSX_BUNDLE
  257. ${EESCHEMA_SRCS}
  258. ${EESCHEMA_COMMON_SRCS}
  259. ${EESCHEMA_RESOURCES}
  260. )
  261. if( APPLE )
  262. set_target_properties( eeschema PROPERTIES
  263. MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
  264. )
  265. endif()
  266. target_link_libraries( eeschema
  267. common
  268. bitmaps
  269. polygon
  270. ${wxWidgets_LIBRARIES}
  271. ${GDI_PLUS_LIBRARIES}
  272. )
  273. endif()
  274. install( TARGETS eeschema
  275. DESTINATION ${KICAD_BIN}
  276. COMPONENT binary
  277. )
  278. add_subdirectory( plugins )