summaryrefslogtreecommitdiff
path: root/pagelayout_editor/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'pagelayout_editor/CMakeLists.txt')
-rw-r--r--pagelayout_editor/CMakeLists.txt165
1 files changed, 165 insertions, 0 deletions
diff --git a/pagelayout_editor/CMakeLists.txt b/pagelayout_editor/CMakeLists.txt
new file mode 100644
index 0000000..5177c56
--- /dev/null
+++ b/pagelayout_editor/CMakeLists.txt
@@ -0,0 +1,165 @@
+# the map generation creates on Windows/gcc a lot of useless warnings
+# so disable it on windows
+if( WIN32 AND NOT CMAKE_CROSSCOMPILING )
+ set( MAKE_LINK_MAPS false )
+else()
+ set( MAKE_LINK_MAPS true )
+endif()
+
+add_definitions(-DPL_EDITOR)
+
+include_directories(BEFORE ${INC_BEFORE})
+include_directories(
+ dialogs
+ ../common/dialogs
+ ${INC_AFTER}
+ )
+
+set( PL_EDITOR_SRCS
+ dialogs/properties_frame_base.cpp
+ dialogs/dialogs_for_printing.cpp
+ dialogs/dialog_new_dataitem_base.cpp
+ dialogs/dialog_new_dataitem.cpp
+ class_pl_editor_screen.cpp
+ class_pl_editor_layout.cpp
+ design_tree_frame.cpp
+ events_functions.cpp
+ controle.cpp
+ files.cpp
+ onleftclick.cpp
+ onrightclick.cpp
+ page_layout_writer.cpp
+ pl_editor_config.cpp
+ pl_editor_frame.cpp
+ pl_editor_undo_redo.cpp
+ properties_frame.cpp
+ hotkeys.cpp
+ menubar.cpp
+ toolbars_pl_editor.cpp
+ )
+
+set( PL_EDITOR_EXTRA_SRCS
+ ../common/base_screen.cpp
+ ../common/base_units.cpp
+ ../common/eda_text.cpp
+ ../common/class_page_info.cpp
+ ../common/dialogs/dialog_page_settings.cpp
+)
+
+
+if( MINGW )
+ # PL_EDITOR_RESOURCES variable is set by the macro.
+ mingw_resource_compiler( pl_editor )
+else()
+ set( PL_EDITOR_RESOURCES pl_editor.rc )
+endif()
+
+
+if( APPLE )
+ # setup bundle
+ set( PL_EDITOR_RESOURCES pl_editor.icns pl_editor_doc.icns )
+ set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pl_editor.icns" PROPERTIES
+ MACOSX_PACKAGE_LOCATION Resources
+ )
+ set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pl_editor_doc.icns" PROPERTIES
+ MACOSX_PACKAGE_LOCATION Resources
+ )
+ set( MACOSX_BUNDLE_ICON_FILE pl_editor.icns )
+ set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-pcb.kicad )
+ set( MACOSX_BUNDLE_NAME pl_editor )
+endif()
+
+# a very small program launcher for pl_editor_kiface
+add_executable( pl_editor WIN32 MACOSX_BUNDLE
+ ../common/single_top.cpp
+ ../common/pgm_base.cpp
+ ${PL_EDITOR_RESOURCES}
+ )
+set_source_files_properties( ../common/single_top.cpp PROPERTIES
+ COMPILE_DEFINITIONS "TOP_FRAME=FRAME_PL_EDITOR;PGM_DATA_FILE_EXT=\"kicad_wks\";BUILD_KIWAY_DLL"
+ )
+target_link_libraries( pl_editor
+ #singletop # replaces common, giving us restrictive control and link warnings.
+ # There's way too much crap coming in from common yet.
+ common
+ bitmaps
+ ${wxWidgets_LIBRARIES}
+ )
+
+if( MAKE_LINK_MAPS )
+ set_target_properties( pl_editor PROPERTIES
+ LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pl_editor.map" )
+endif()
+
+# the main pl_editor program, in DSO form.
+add_library( pl_editor_kiface MODULE
+ pl_editor.cpp
+ ${PL_EDITOR_SRCS}
+ ${DIALOGS_SRCS}
+ ${PL_EDITOR_EXTRA_SRCS}
+ )
+target_link_libraries( pl_editor_kiface
+ common
+ polygon
+ bitmaps
+ gal
+ ${wxWidgets_LIBRARIES}
+ ${GDI_PLUS_LIBRARIES}
+ )
+set_target_properties( pl_editor_kiface PROPERTIES
+ OUTPUT_NAME pl_editor
+ PREFIX ${KIFACE_PREFIX}
+ SUFFIX ${KIFACE_SUFFIX}
+ )
+set_source_files_properties( pl_editor.cpp PROPERTIES
+ # The KIFACE is in pcbnew.cpp, export it:
+ COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL"
+ )
+
+if( MAKE_LINK_MAPS )
+ set_target_properties( pl_editor_kiface PROPERTIES
+ LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_pl_editor.kiface.map" )
+endif()
+
+# if building pl_editor, then also build pl_editor_kiface if out of date.
+add_dependencies( pl_editor pl_editor_kiface )
+
+# these 2 binaries are a matched set, keep them together:
+if( APPLE )
+ set_target_properties( pl_editor PROPERTIES
+ MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
+ )
+
+ # puts binaries into the *.app bundle while linking
+ set_target_properties( pl_editor_kiface PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_KIFACE_DIR}
+ )
+
+ # put individual bundle outside of main bundle as a first step
+ # will be pulled into the main bundle when creating main bundle
+ install( TARGETS pl_editor
+ DESTINATION ${KICAD_BIN}
+ COMPONENT binary
+ )
+ install( CODE "
+ # override default embedded path settings
+ ${OSX_BUNDLE_OVERRIDE_PATHS}
+
+ # do all the work
+ include( BundleUtilities )
+ fixup_bundle( ${KICAD_BIN}/pl_editor.app/Contents/MacOS/pl_editor
+ \"\"
+ \"\"
+ )
+ " COMPONENT Runtime
+ )
+else()
+ install( TARGETS pl_editor
+ DESTINATION ${KICAD_BIN}
+ COMPONENT binary
+ )
+ install( TARGETS pl_editor_kiface
+ DESTINATION ${KICAD_BIN}
+ COMPONENT binary
+ )
+endif()