2008-03-11 15:57:54 +00:00
|
|
|
add_definitions(-DPCBNEW)
|
2007-11-08 07:17:37 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Includes
|
|
|
|
###
|
2008-09-07 19:32:07 +00:00
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
${Boost_INCLUDE_DIR}
|
|
|
|
../3d-viewer
|
2010-08-28 18:02:24 +00:00
|
|
|
../common
|
2008-09-07 19:32:07 +00:00
|
|
|
../polygon)
|
2007-11-08 07:17:37 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Sources
|
|
|
|
#
|
|
|
|
# NOTE: Many of the commented out ones are nested in *.cpp files for dialogs
|
|
|
|
###
|
2010-07-26 17:06:36 +00:00
|
|
|
if( USE_BOOST_POLYGON_LIBRARY )
|
|
|
|
set(PCBNEW_SRC_FILL_ZONE zones_convert_brd_items_to_polygons_with_Boost.cpp)
|
|
|
|
else( USE_BOOST_POLYGON_LIBRARY )
|
|
|
|
set(PCBNEW_SRC_FILL_ZONE zones_convert_brd_items_to_polygons_with_Kbool.cpp)
|
|
|
|
endif( USE_BOOST_POLYGON_LIBRARY )
|
|
|
|
|
2008-03-11 15:57:54 +00:00
|
|
|
set(PCBNEW_SRCS
|
2010-01-26 11:05:30 +00:00
|
|
|
pcbframe.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
attribut.cpp
|
|
|
|
automove.cpp
|
|
|
|
autoplac.cpp
|
|
|
|
autorout.cpp
|
|
|
|
board.cpp
|
2009-11-14 19:47:52 +00:00
|
|
|
board_items_to_polygon_shape_transform.cpp
|
2009-07-29 13:10:36 +00:00
|
|
|
board_undo_redo.cpp
|
2009-11-14 19:47:52 +00:00
|
|
|
block.cpp
|
|
|
|
block_module_editor.cpp
|
2009-03-30 15:36:41 +00:00
|
|
|
build_BOM_from_board.cpp
|
2010-02-03 14:05:17 +00:00
|
|
|
class_pcb_layer_widget.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
clean.cpp
|
|
|
|
# cleaningoptions_dialog.cpp
|
|
|
|
connect.cpp
|
|
|
|
controle.cpp
|
2010-01-18 12:37:53 +00:00
|
|
|
dimension.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
cross-probing.cpp
|
2009-09-10 13:04:04 +00:00
|
|
|
debug_kbool_key_file_fct.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
deltrack.cpp
|
2008-10-09 19:13:25 +00:00
|
|
|
dialog_copper_zones.cpp
|
2008-11-09 20:36:40 +00:00
|
|
|
dialog_copper_zones_base.cpp
|
2009-07-18 11:44:19 +00:00
|
|
|
dialog_design_rules.cpp
|
|
|
|
dialog_design_rules_base.cpp
|
2009-06-18 17:32:27 +00:00
|
|
|
dialog_display_options.cpp
|
2008-12-21 16:54:27 +00:00
|
|
|
dialog_display_options_base.cpp
|
2009-06-21 13:37:27 +00:00
|
|
|
dialog_drc_base.cpp
|
2009-06-18 13:30:52 +00:00
|
|
|
dialog_drc.cpp
|
2009-08-11 10:27:21 +00:00
|
|
|
dialog_edit_module_for_BoardEditor.cpp
|
|
|
|
dialog_edit_module_for_BoardEditor_base.cpp
|
2009-08-13 10:24:16 +00:00
|
|
|
dialog_edit_module_for_Modedit_base.cpp
|
|
|
|
dialog_edit_module_for_Modedit.cpp
|
2008-12-22 21:06:44 +00:00
|
|
|
dialog_edit_module_text.cpp
|
2009-06-21 13:37:27 +00:00
|
|
|
dialog_edit_module_text_base.cpp
|
2009-06-20 19:09:43 +00:00
|
|
|
dialog_exchange_modules_base.cpp
|
2010-04-19 06:21:56 +00:00
|
|
|
dialog_export_3Dfiles_base.cpp
|
2008-03-19 18:05:19 +00:00
|
|
|
dialog_freeroute_exchange.cpp
|
2009-12-03 06:25:35 +00:00
|
|
|
dialog_freeroute_exchange_base.cpp
|
2010-04-30 18:39:10 +00:00
|
|
|
dialog_gendrill.cpp
|
|
|
|
dialog_gendrill_base.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
dialog_general_options.cpp
|
2009-06-21 13:37:27 +00:00
|
|
|
dialog_general_options_BoardEditor_base.cpp
|
2009-10-30 17:58:15 +00:00
|
|
|
dialog_global_edit_tracks_and_vias.cpp
|
|
|
|
dialog_global_edit_tracks_and_vias_base.cpp
|
2009-12-13 10:30:19 +00:00
|
|
|
dialog_global_pads_edition_base.cpp
|
2010-02-24 15:33:03 +00:00
|
|
|
dialog_graphic_items_options.cpp
|
|
|
|
dialog_graphic_items_options_base.cpp
|
2009-06-21 13:37:27 +00:00
|
|
|
dialog_graphic_item_properties.cpp
|
|
|
|
dialog_graphic_item_properties_base.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
# dialog_initpcb.cpp
|
2009-11-08 05:27:34 +00:00
|
|
|
|
2009-12-20 22:44:31 +00:00
|
|
|
dialog_layers_setup.cpp
|
|
|
|
dialog_layers_setup_base.cpp
|
2009-04-24 07:36:36 +00:00
|
|
|
dialog_netlist.cpp
|
2009-06-21 13:37:27 +00:00
|
|
|
dialog_netlist_fbp.cpp
|
2008-12-20 17:28:25 +00:00
|
|
|
dialog_pcb_text_properties.cpp
|
2008-11-09 20:36:40 +00:00
|
|
|
dialog_non_copper_zones_properties_base.cpp
|
2008-11-22 11:10:40 +00:00
|
|
|
dialog_pad_properties.cpp
|
|
|
|
dialog_pad_properties_base.cpp
|
2009-04-19 15:03:48 +00:00
|
|
|
dialog_pcbnew_config_libs_and_paths.cpp
|
|
|
|
dialog_pcbnew_config_libs_and_paths_fbp.cpp
|
2009-10-23 07:41:29 +00:00
|
|
|
dialog_print_for_modedit.cpp
|
2010-01-01 13:30:39 +00:00
|
|
|
dialog_plot_base.cpp
|
2009-10-23 07:41:29 +00:00
|
|
|
dialog_print_for_modedit_base.cpp
|
2009-01-17 17:32:20 +00:00
|
|
|
dialog_print_using_printer.cpp
|
2010-01-01 13:30:39 +00:00
|
|
|
dialog_print_using_printer_base.cpp
|
2008-07-12 07:25:35 +00:00
|
|
|
dialog_orient_footprints.cpp
|
2009-10-30 17:58:15 +00:00
|
|
|
dialog_mask_clearance.cpp
|
|
|
|
dialog_mask_clearance_base.cpp
|
2009-01-11 19:12:18 +00:00
|
|
|
dialog_SVG_print.cpp
|
|
|
|
dialog_SVG_print_base.cpp
|
2010-07-13 10:42:32 +00:00
|
|
|
dialog_set_grid_base.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
dist.cpp
|
|
|
|
dragsegm.cpp
|
|
|
|
drc.cpp
|
2010-09-20 16:21:47 +00:00
|
|
|
drc_clearance_test_functions.cpp
|
2010-09-18 17:55:08 +00:00
|
|
|
drc_marker_functions.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
edgemod.cpp
|
|
|
|
edit.cpp
|
|
|
|
editedge.cpp
|
|
|
|
editmod.cpp
|
|
|
|
editrack.cpp
|
|
|
|
editrack-part2.cpp
|
2009-06-21 13:37:27 +00:00
|
|
|
edit_pcb_text.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
edit_track_width.cpp
|
|
|
|
edtxtmod.cpp
|
2009-10-03 17:18:08 +00:00
|
|
|
event_handlers_tracks_vias_sizes.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
export_gencad.cpp
|
2010-04-19 06:21:56 +00:00
|
|
|
export_vrml.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
files.cpp
|
|
|
|
find.cpp
|
2008-01-18 17:09:39 +00:00
|
|
|
gen_drill_report_files.cpp
|
2008-02-08 00:16:59 +00:00
|
|
|
gen_holes_and_tools_lists_for_drill.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
gen_modules_placefile.cpp
|
|
|
|
gendrill.cpp
|
|
|
|
globaleditpad.cpp
|
2008-03-11 15:57:54 +00:00
|
|
|
gpcb_exchange.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
graphpcb.cpp
|
|
|
|
hotkeys.cpp
|
|
|
|
initpcb.cpp
|
|
|
|
ioascii.cpp
|
2010-01-21 07:41:30 +00:00
|
|
|
layer_widget.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
librairi.cpp
|
|
|
|
loadcmp.cpp
|
|
|
|
locate.cpp
|
2009-10-10 17:27:53 +00:00
|
|
|
magnetic_tracks_functions.cpp
|
2010-01-17 20:25:10 +00:00
|
|
|
menubar_modedit.cpp
|
|
|
|
menubar_pcbframe.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
mirepcb.cpp
|
|
|
|
modedit.cpp
|
|
|
|
modedit_onclick.cpp
|
|
|
|
modeditoptions.cpp
|
|
|
|
modedit_undo_redo.cpp
|
|
|
|
moduleframe.cpp
|
|
|
|
modules.cpp
|
|
|
|
move-drag_pads.cpp
|
|
|
|
move_or_drag_track.cpp
|
|
|
|
muonde.cpp
|
|
|
|
muwave_command.cpp
|
|
|
|
netlist.cpp
|
|
|
|
onleftclick.cpp
|
|
|
|
onrightclick.cpp
|
|
|
|
pcbnew.cpp
|
2009-10-27 13:48:24 +00:00
|
|
|
pcbnew_config.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
pcbplot.cpp
|
|
|
|
plotgerb.cpp
|
|
|
|
plothpgl.cpp
|
|
|
|
plotps.cpp
|
2009-06-30 10:43:20 +00:00
|
|
|
plotdxf.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
plot_rtn.cpp
|
2010-01-26 11:05:30 +00:00
|
|
|
print_board_functions.cpp
|
|
|
|
printout_controler.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
queue.cpp
|
|
|
|
ratsnest.cpp
|
|
|
|
set_grid.cpp
|
|
|
|
solve.cpp
|
2008-01-21 22:16:45 +00:00
|
|
|
specctra.cpp
|
|
|
|
specctra_export.cpp
|
2008-02-06 22:32:15 +00:00
|
|
|
specctra_import.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
surbrill.cpp
|
|
|
|
swap_layers.cpp
|
|
|
|
tool_modedit.cpp
|
|
|
|
tool_onrightclick.cpp
|
|
|
|
tool_pcb.cpp
|
2009-09-27 11:00:21 +00:00
|
|
|
toolbars_update_user_interface.cpp
|
2008-01-18 17:10:54 +00:00
|
|
|
tracepcb.cpp
|
|
|
|
track.cpp
|
|
|
|
tr_modif.cpp
|
|
|
|
trpiste.cpp
|
|
|
|
work.cpp
|
|
|
|
xchgmod.cpp
|
2010-07-26 17:06:36 +00:00
|
|
|
${PCBNEW_SRC_FILL_ZONE}
|
2008-01-18 17:10:54 +00:00
|
|
|
zones_by_polygon.cpp
|
2009-08-23 15:22:44 +00:00
|
|
|
zones_by_polygon_fill_functions.cpp
|
2008-10-02 13:24:31 +00:00
|
|
|
zone_filling_algorithm.cpp
|
2009-08-23 15:22:44 +00:00
|
|
|
zones_functions_for_undo_redo.cpp
|
2010-01-26 11:05:30 +00:00
|
|
|
zones_non_copper_type_functions.cpp
|
2008-10-11 19:27:43 +00:00
|
|
|
zones_polygons_insulated_copper_islands.cpp
|
2008-11-18 18:13:55 +00:00
|
|
|
zones_polygons_test_connections.cpp
|
2008-10-02 13:24:31 +00:00
|
|
|
zones_test_and_combine_areas.cpp
|
|
|
|
)
|
2007-11-08 07:17:37 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# We need some extra sources from common
|
|
|
|
###
|
2008-03-11 15:57:54 +00:00
|
|
|
set(PCBNEW_EXTRA_SRCS
|
2010-03-14 10:34:40 +00:00
|
|
|
../common/dialog_page_settings.cpp
|
2009-04-05 20:49:15 +00:00
|
|
|
)
|
2007-11-08 07:17:37 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Windows resource file
|
|
|
|
###
|
2008-03-11 15:57:54 +00:00
|
|
|
if(WIN32)
|
|
|
|
if(MINGW)
|
2008-04-18 08:04:54 +00:00
|
|
|
# PCBNEW_RESOURCES variable is set by the macro.
|
2008-04-13 19:07:32 +00:00
|
|
|
mingw_resource_compiler(pcbnew)
|
2008-03-11 15:57:54 +00:00
|
|
|
else(MINGW)
|
|
|
|
set(PCBNEW_RESOURCES pcbnew.rc)
|
|
|
|
endif(MINGW)
|
|
|
|
endif(WIN32)
|
2008-09-07 19:32:07 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Set properties for APPLE on pcbnew target
|
|
|
|
###
|
2008-03-11 15:57:54 +00:00
|
|
|
if(APPLE)
|
2009-04-29 12:10:15 +00:00
|
|
|
set(PCBNEW_RESOURCES pcbnew.icns pcbnew_doc.icns)
|
2008-06-15 16:31:32 +00:00
|
|
|
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/pcbnew.icns"
|
2008-09-07 19:32:07 +00:00
|
|
|
PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
2009-04-29 12:10:15 +00:00
|
|
|
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/pcbnew_doc.icns"
|
|
|
|
PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
2008-06-15 16:31:32 +00:00
|
|
|
set(MACOSX_BUNDLE_ICON_FILE pcbnew.icns)
|
|
|
|
set(MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.pcbnew)
|
2009-04-29 12:10:15 +00:00
|
|
|
set(MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
2008-03-11 15:57:54 +00:00
|
|
|
endif(APPLE)
|
2007-11-08 07:17:37 +00:00
|
|
|
|
2009-12-03 06:30:54 +00:00
|
|
|
# Create a C++ compilable string initializer containing html text into a *.h file:
|
2009-12-03 06:25:35 +00:00
|
|
|
add_custom_command(
|
|
|
|
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/dialog_freeroute_exchange_help_html.h
|
2010-09-29 20:39:53 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND}
|
2009-12-03 06:25:35 +00:00
|
|
|
-DinputFile=${CMAKE_CURRENT_SOURCE_DIR}/dialog_freeroute_exchange_help.html
|
|
|
|
-DoutputFile=${CMAKE_CURRENT_SOURCE_DIR}/dialog_freeroute_exchange_help_html.h
|
|
|
|
-P ${CMAKE_MODULE_PATH}/Html2C.cmake
|
|
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/dialog_freeroute_exchange_help.html
|
|
|
|
COMMENT "creating ${CMAKE_CURRENT_SOURCE_DIR}/dialog_freeroute_exchange_help_html.h
|
|
|
|
from ${CMAKE_CURRENT_SOURCE_DIR}/dialog_freeroute_exchange_help.html"
|
|
|
|
)
|
|
|
|
|
2009-12-03 06:30:54 +00:00
|
|
|
set_source_files_properties( dialog_freeroute_exchange.cpp
|
|
|
|
PROPERTIES
|
|
|
|
OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/dialog_freeroute_exchange_help_html.h
|
|
|
|
)
|
2009-12-03 06:25:35 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Create the pcbnew executable
|
|
|
|
###
|
|
|
|
add_executable(pcbnew WIN32 MACOSX_BUNDLE
|
|
|
|
${PCBNEW_SRCS}
|
|
|
|
${PCBNEW_EXTRA_SRCS}
|
|
|
|
${PCBNEW_RESOURCES}
|
|
|
|
)
|
2007-11-08 07:17:37 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Set properties for APPLE on pcbnew target
|
|
|
|
###
|
2009-04-29 12:10:15 +00:00
|
|
|
if(APPLE)
|
2010-05-16 18:18:38 +00:00
|
|
|
set_target_properties(pcbnew PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
2009-04-29 12:10:15 +00:00
|
|
|
endif(APPLE)
|
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Link executable target pcbnew with correct libraries
|
|
|
|
###
|
|
|
|
target_link_libraries(pcbnew 3d-viewer common pcbcommon polygon bitmaps kbool
|
|
|
|
${OPENGL_LIBRARIES}
|
|
|
|
${wxWidgets_LIBRARIES}
|
|
|
|
${GDI_PLUS_LIBRARIES})
|
2008-03-31 01:32:15 +00:00
|
|
|
|
2010-05-16 18:18:38 +00:00
|
|
|
###
|
|
|
|
# Add pcbnew as install target
|
|
|
|
###
|
|
|
|
install(TARGETS pcbnew
|
2008-09-14 11:46:58 +00:00
|
|
|
DESTINATION ${KICAD_BIN}
|
2008-06-15 16:31:32 +00:00
|
|
|
COMPONENT binary)
|
2008-03-31 01:32:15 +00:00
|
|
|
|
|
|
|
|
2010-01-13 21:15:54 +00:00
|
|
|
# The specctra test fails to build properly using MS Visual Studio.
|
|
|
|
if(NOT MSVC)
|
|
|
|
# This one gets made only when testing.
|
2010-05-15 11:30:57 +00:00
|
|
|
add_executable(specctra_test EXCLUDE_FROM_ALL specctra_test.cpp specctra.cpp)
|
2010-01-13 21:15:54 +00:00
|
|
|
target_link_libraries(specctra_test common ${wxWidgets_LIBRARIES})
|
|
|
|
endif(NOT MSVC)
|
2010-01-05 17:45:38 +00:00
|
|
|
|
|
|
|
# This one gets made only when testing.
|
2010-01-13 21:15:54 +00:00
|
|
|
add_executable(layer_widget_test WIN32 EXCLUDE_FROM_ALL
|
2010-01-05 17:45:38 +00:00
|
|
|
layer_widget.cpp
|
|
|
|
)
|
2010-01-07 02:18:25 +00:00
|
|
|
target_link_libraries(layer_widget_test common ${wxWidgets_LIBRARIES})
|