kicad/bitmaps/CMakeLists.txt

415 lines
8.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.
# NAKed by Dick:
# builds a set of all the .xpm files
# file(GLOB BITMAP_SRCS *.xpm) NO, does not build proper dependency
# generation or allow renaming of bitmap files, NAKed by Dick.
# this is twice now I've had to change this.
# Dick: use this one instead:
set(BITMAP_SRCS
3d.xpm
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_track_width.xpm
axis3d_back.xpm
axis3d_bottom.xpm
axis3d_front.xpm
axis3d_left.xpm
axis3d_right.xpm
axis3d_top.xpm
axis3d.xpm
backanno.xpm
book.xpm
Break_Bus.xpm
Break_Line.xpm
Browse_Files.xpm
cancel_tool.xpm
Cancel.xpm
component_select_unit.xpm
component_select_alternate_shape.xpm
config.xpm
CopyBlock.xpm
copy.xpm
copper_layers_setup.cpp
Cursor_Shape.xpm
cursor.xpm
cut.xpm
cvpcb.xpm
dashline.xpm
Datasheet.xpm
del_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
del_track.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_Module.xpm
Export_Options_Pad.xpm
export.xpm
File_FootPrint.xpm
fill_zone.xpm
find_xpm.xpm
Flag.xpm
Fonts.xpm
Footprint_Text.xpm
general_deletions.xpm
general_ratsnet.xpm
GLabel2Label.xpm
GLabel2Text.xpm
GL_Change.xpm
Global_Options_Pad.xpm
green.xpm
grid_select.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_python_small.xpm
icon_python.xpm
icon_txt.xpm
import3d.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_Hu.xpm
Lang_It.xpm
Lang_Ko.xpm
Lang_Nl.xpm
Lang_Pl.xpm
Lang_Pt.xpm
Lang_Ru.xpm
Lang_Sl.xpm
Language.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
net_hightlight.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_python.xpm
new_sch.xpm
new_txt.xpm
new.xpm
noconn.xpm
Normal.xpm
Open_Library.xpm
Open_Project.xpm
open.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
Pad_Sketch.xpm
pad.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
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.xpm
ratsnest.xpm
Read_SetUp.xpm
redo.xpm
red.xpm
reload2.xpm
reload.xpm
Resize_Sheet.xpm
right.xpm
Rotate_Field.xpm
Rotate_GLabel.xpm
Rotate_Module-.xpm
Rotate_Module+.xpm
Rotate_Pin.xpm
Rotate-.xpm
Rotate+.xpm
rotate-x.xpm
rotate+x.xpm
rotate-y.xpm
rotate+y.xpm
rotate-z.xpm
rotate+z.xpm
save_as.xpm
Save_CmpStuff.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
showmodedge.xpm
showtrack.xpm
Show_Zone.xpm
Show_Zone_Disable.xpm
Show_Zone_Outline_Only.xpm
Swap_Layer.xpm
Text_Sketch.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
zip_tool.xpm
zip.xpm
Zoom_1.xpm
zoom_auto.xpm
Zoom_Center.xpm
zoom_in.xpm
zoomoins3d.xpm
zoom_out.xpm
zoompage3d.xpm
Zoom_Page.xpm
zoomplus3d.xpm
zoom_redraw.xpm
zoomrefr3d.xpm
Zoom_Selected.xpm
Zoom_Select.xpm
zoom.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})