kicad/bitmaps/CMakeLists.txt

453 lines
9.5 KiB
CMake

# Generate a static library target named "bitmaps"
# (with filename libbitmaps.a on Linux)
# Copy the *.xpm files to ${XPM_CPP_PATH}/*.cpp, on change only.
# Compile those *.cpp files and put them into the library, then done.
# bitmap file names should be all lowercase and basename thereof should also
# be a valid C++ identifier name. This means no leading number, or embedded - or +
set(BITMAP_SRCS
add_arc.xpm
add_bus2bus.xpm
add_bus.xpm
add_circle.xpm
add_component.xpm
add_corner.xpm
add_dashed_line.xpm
add_dimension.xpm
add_entry.xpm
add_glabel.xpm
add_hierarchical_label.xpm
add_hierar_pin.xpm
add_hierar_subsheet.xpm
add_junction.xpm
add_line2bus.xpm
add_line_label.xpm
add_line.xpm
add_mires.xpm
add_polygon.xpm
add_power.xpm
add_rectangle.xpm
add_text.xpm
add_tracks.xpm
add_zone_cutout.xpm
add_zone.xpm
anchor.xpm
annotate_down_right.xpm
annotate_right_down.xpm
annotate.xpm
apply.xpm
auto_associe.xpm
auto_delete_track.xpm
auto_track_width.xpm
axis3d_back.xpm
axis3d_bottom.xpm
axis3d_front.xpm
axis3d_left.xpm
axis3d_right.xpm
axis3d_top.xpm
axis3d.xpm
book.xpm
break_bus.xpm
break_line.xpm
browse_files.xpm
cancel_tool.xpm
cancel.xpm
create_cmp_file.xpm
checked_ok.xpm
component_select_unit.xpm
component_select_alternate_shape.xpm
config.xpm
copyblock.xpm
copycomponent.xmp
copy_button.xpm
copper_layers_setup.cpp
cursor_shape.xpm
cursor.xpm
cut_button.xpm
cvpcb.xpm
dashline.xpm
datasheet.xpm
delete_body.xpm
delete_arc.xpm
delete_association.xpm
delete_bus.xpm
delete_circle.xpm
delete_connection.xpm
delete_cotation.xpm
delete_field.xpm
delete_glabel.xpm
delete_line.xpm
delete_module.xpm
delete_net.xpm
delete_node.xpm
delete_pad.xpm
delete_pinsheet.xpm
delete_pin.xpm
delete_polygon.xpm
delete_rectangle.xpm
delete_segment.xpm
delete_sheet.xpm
delete_text.xpm
delete_track.xpm
delete.xpm
directory.xpm
display_options.xpm
down.xpm
drag_module.xpm
drag_outline_segment.xpm
drag_pad.xpm
drag_segment_withslope.xpm
drag_track_segment.xpm
drc_off.xpm
drc.xpm
edges_sketch.xpm
edit_comp_footprint.xpm
edit_component.xpm
edit_comp_ref.xpm
edit_comp_value.xpm
edit_module.xpm
editor.xpm
edit_part.xpm
edit_sheet.xpm
edit_text.xpm
edit.xpm
eeschema.xpm
enter_sheet.xpm
ercerr.xpm
ercgreen.xpm
ercwarn.xpm
erc.xpm
exit.xpm
export_footprint_names.xpm
export_module.xpm
export_options_pad.xpm
export.xpm
fabrication.xpm
file_footprint.xpm
fill_zone.xpm
find_xpm.xpm
flag.xpm
fonts.xpmr
footprint_text.xpm
gbr_select_mode0.xpm
gbr_select_mode1.xpm
gbr_select_mode2.xpm
gerber_file.xpm
gerber_recent_files.xpm
gerbview_drill_file.xpm
gerbview_clear_layers.xpm
gerber_open_dcode_file.xpm
general_deletions.xpm
general_ratsnet.xpm
glabel2label.xpm
glabel2text.xpm
gl_change.xpm
global_options_pad.xpm
green.xpm
grid_select.xpm
grid_select_axis.xpm
grid.xpm
hammer.xpm
help.xpm
hidden_pin.xpm
hierarchy_cursor.xpm
hierarchy_nav.xpm
hotkeys.xpm
icon_3d.xpm
icon_cvpcb_small.xpm
icon_cvpcb.xpm
icon_eeschema.xpm
icon_gerbview_small.xpm
icon_gerbview.xpm
icon_kicad.xpm
icon_modedit.xpm
icon_pcbnew.xpm
icon_txt.xpm
import3d.xpm
import_cmp_from_lib.xpm
import_footprint_names.xpm
import_hierarchical_label.xpm
import_module.xpm
import.xpm
info.xpm
insert_module_board.xpm
invert_module.xpm
invisible_text.xpm
jigsaw.xpm
kicad_icon_small.xpm
label2glabel.xpm
label2text.xpm
label.xpm
lang_catalan.xpm
lang_chinese.xpm
lang_cs.xpm
lang_default.xpm
lang_de.xpm
lang_en.xpm
lang_es.xpm
lang_fr.xpm
lang_fi.xpm
lang_gr.xpm
lang_hu.xpm
lang_it.xpm
lang_jp.xpm
lang_ko.xpm
lang_nl.xpm
lang_pl.xpm
lang_pt.xpm
lang_ru.xpm
lang_sl.xpm
language.xpm
layers_manager.xpm
leave_sheet.xpm
left.xpm
libedit_icon.xpm
libedit.xpm
libedprt.xpm
lib_next.xpm
lib_previous.xpm
library_browse.xpm
library_update.xpm
library.xpm
libsavem.xpm
libview.xpm
lines90.xpm
load_module_board.xpm
load_module_lib.xpm
local_ratsnet.xpm
locked.xpm
mirepcb.xpm
mirror_h.xpm
mirror_v.xpm
modedit.xpm
mode_module.xpm
mode_track.xpm
modratsnest.xpm
module_check.xpm
modul_edit.xpm
module_filtered_list.xpm
module_full_list.xpm
module_options.xpm
module_ratsnet.xpm
module.xpm
morgan1.xpm
morgan2.xpm
move_arc.xpm
move_circle.xpm
move_field.xpm
move_glabel.xpm
move_line.xpm
move_module.xpm
move_pad.xpm
move_pinsheet.xpm
move_pin.xpm
move_polygon.xpm
move_rectangle.xpm
move_sheet.xpm
move_text.xpm
move_track_segment.xpm
move_track.xpm
move.xpm
mw_add_gap.xpm
mw_add_line.xpm
mw_add_shape.xpm
mw_add_stub_arc.xpm
mw_add_stub.xpm
mw_toolbar.xpm
net_highlight.xpm
netlist.xpm
net_locked.xpm
net_unlocked.xpm
new_component.xpm
new_cvpcb.xpm
new_footprint.xpm
new_library.xpm
new_module.xpm
new_pcb.xpm
new_project.xpm
new_sch.xpm
new_txt.xpm
new.xpm
noconn.xpm
normal.xpm
online_help.xpm
open_library.xpm
open_project.xpm
open_document.xpm
options_all_tracks_and_vias.xpm
options_all_tracks.xpm
options_all_vias.xpm
options_arc.xpm
options_circle.xpm
options_module.xpm
options_new_pad.xpm
options_pad.xpm
options_pinsheet.xpm
options_pin.xpm
options_rectangle.xpm
options_segment.xpm
options_text.xpm
options_tracks.xpm
options_track.xpm
options_vias.xpm
opt_show_polygon.xpm
orient.xpm
ortho.xpm
pad_sketch.xpm
pad.xpm
pads_mask_layers.xpm
palette.xpm
part_properties.xpm
paste.xpm
pcbnew.xpm
pcboffset.xpm
pin2pin.xpm
pin_name_to.xpm
pin_number_to.xpm
pin_size_to.xpm
pinorient_right.xpm
pinorient_left.xpm
pinorient_up.xpm
pinorient_down.xpm
pinshape_normal.xpm
pinshape_invert.xpm
pinshape_clock_normal.xpm
pinshape_clock_invert.xpm
pinshape_active_low_input.xpm
pinshape_clock_active_low.xpm
pinshape_active_low_output.xpm
pinshape_clock_fall.xpm
pinshape_nonlogic.xpm
pintype_input.xpm
pintype_output.xpm
pintype_bidi.xpm
pintype_3states.xpm
pintype_passive.xpm
pintype_notspecif.xpm
pintype_powerinput.xpm
pintype_poweroutput.xpm
pintype_opencoll.xpm
pintype_openemit.xpm
pintype_noconnect.xpm
pin_to.xpm
pin.xpm
plot_hpg.xpm
plot_ps.xpm
plot_xpm.xpm
polar.xpm
post_compo.xpm
post_drill.xpm
post_module.xpm
preference.xpm
print_button.xpm
ratsnest.xpm
read_setup.xpm
redo.xpm
red.xpm
reload2.xpm
reload.xpm
reset_text.xpm
resize_sheet.xpm
right.xpm
rotate_field.xpm
rotate_glabel.xpm
rotate_module_neg.xpm
rotate_module_pos.xpm
rotate_pin.xpm
rotate_ccw.xpm
rotate_cw.xpm
rotate_neg_x.xpm
rotate_pos_x.xpm
rotate_neg_y.xpm
rotate_pos_y.xpm
rotate_neg_z.xpm
rotate_pos_z.xpm
save_as.xpm
save_library.xpm
save_netlist.xpm
save_project.xpm
save_setup.xpm
save.xpm
schematic.xpm
select_grid.xpm
select_layer_pair.xpm
select_w_layer.xpm
shape_3d.xpm
sheetset.xpm
showdcode.xpm
show_footprint.xpm
showmodedge.xpm
showtrack.xpm
show_zone.xpm
show_zone_disable.xpm
show_zone_outline_only.xpm
swap_layer.xpm
text_sketch.xpm
three_d.xpm
tool_ratsnet.xpm
tools.xpm
track_locked.xpm
track_sketch.xpm
track_unlocked.xpm
transistor.xpm
treensel.xpm
treesel.xpm
undelete.xpm
undo.xpm
unit_inch.xpm
unit_mm.xpm
unknown.xpm
unlocked.xpm
unzip.xpm
update_module_board.xpm
up.xpm
via_sketch.xpm
viewlibs_icon.xpm
web_support.xpm
width_net.xpm
width_segment.xpm
width_track_via.xpm
width_track.xpm
width_vias.xpm
window_close.xpm
zip_tool.xpm
zip.xpm
zoom.xpm
zoom_area.xpm
zoom_fit_in_page.xpm
zoom_center_on_screen.xpm
zoom_in.xpm
zoomoins3d.xpm
zoom_out.xpm
zoompage3d.xpm
zoomplus3d.xpm
zoom_redraw.xpm
zoomrefr3d.xpm
zoom_selection.xpm
)
# Get the path of the *.xpm files into "PATH"
set(PATH ${CMAKE_CURRENT_SOURCE_DIR})
#message("PATH = ${PATH}")
# The name of the directory to put the copied and renamed *.xpm files into.
# As files are copied they are renamed to *.cpp.
set(XPM_CPP_PATH "${CMAKE_BINARY_DIR}/bitmaps/auto_renamed_to_cpp"
CACHE PATH "path to store renamed .xpm files for compilation")
foreach(LOOP_VAR ${BITMAP_SRCS})
get_filename_component(BASENAME ${LOOP_VAR} NAME_WE)
set(CPP_BITMAP "${XPM_CPP_PATH}/${BASENAME}.cpp")
add_custom_command(
OUTPUT ${CPP_BITMAP}
COMMAND "${CMAKE_COMMAND}" -E copy "${PATH}/${BASENAME}.xpm" "${CPP_BITMAP}"
DEPENDS ${BASENAME}.xpm)
list(APPEND CPP_BITMAPS ${CPP_BITMAP})
set_source_files_properties(${CPP_BITMAP} PROPERTIES COMPILE_FLAGS -DXPMMAIN)
endforeach(LOOP_VAR)
add_library(bitmaps ${CPP_BITMAPS})