diff options
author | saurabhb17 | 2020-02-26 16:20:48 +0530 |
---|---|---|
committer | GitHub | 2020-02-26 16:20:48 +0530 |
commit | b77f5d9d8097c38159c6f60917995d6af13bbe1c (patch) | |
tree | 1392c90227aeea231c1d86371131e04c40382918 /pagelayout_editor/CMakeLists.txt | |
parent | dadc4d490966a24efe15b5cc533ef8695986048a (diff) | |
parent | 003d02608917e7a69d1a98438837e94ccf68352a (diff) | |
download | KiCad-eSim-b77f5d9d8097c38159c6f60917995d6af13bbe1c.tar.gz KiCad-eSim-b77f5d9d8097c38159c6f60917995d6af13bbe1c.tar.bz2 KiCad-eSim-b77f5d9d8097c38159c6f60917995d6af13bbe1c.zip |
Merge pull request #4 from FOSSEE/develop
merging dev into master
Diffstat (limited to 'pagelayout_editor/CMakeLists.txt')
-rw-r--r-- | pagelayout_editor/CMakeLists.txt | 165 |
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() |