diff --git a/CMakeLists.txt b/CMakeLists.txt index 02193fc061..3dda778525 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,9 +23,6 @@ set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules ) # reports. # -#option( USE_KIWAY_DLLS "Build the major modules as KIFACE DLLs or DSOs, will soon be the norm." ON ) -set( USE_KIWAY_DLLS true ) # this is now mandatory, the code is the same anyways, the old code is gone. - # The desire is to migrate designs *away from* case independence, and to create designs which use # literally (case specific) interpreted component names. But for backwards compatibility, # you may turn OFF this option if you really must. (Remember that with KiCad using text diff --git a/cvpcb/CMakeLists.txt b/cvpcb/CMakeLists.txt index a733be11b7..95012a9411 100644 --- a/cvpcb/CMakeLists.txt +++ b/cvpcb/CMakeLists.txt @@ -68,109 +68,109 @@ if( APPLE ) endif() -if( USE_KIWAY_DLLS ) - add_executable( cvpcb WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - ../common/pgm_base.cpp - ${CVPCB_RESOURCES} - ) - set_source_files_properties( ../common/single_top.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=FRAME_CVPCB;PGM_DATA_FILE_EXT=\"net\";BUILD_KIWAY_DLL" - ) - target_link_libraries( cvpcb - #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( cvpcb PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=cvpcb.map" ) - endif() +add_executable( cvpcb WIN32 MACOSX_BUNDLE + ../common/single_top.cpp + ../common/pgm_base.cpp + ${CVPCB_RESOURCES} + ) +set_source_files_properties( ../common/single_top.cpp PROPERTIES + COMPILE_DEFINITIONS "TOP_FRAME=FRAME_CVPCB;PGM_DATA_FILE_EXT=\"net\";BUILD_KIWAY_DLL" + ) +target_link_libraries( cvpcb + #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} + ) - # the main cvpcb program, in DSO form. - add_library( cvpcb_kiface MODULE - cvpcb.cpp - ${CVPCB_SRCS} - ${CVPCB_DIALOGS} - ) - set_target_properties( cvpcb_kiface PROPERTIES - OUTPUT_NAME cvpcb - PREFIX ${KIFACE_PREFIX} - SUFFIX ${KIFACE_SUFFIX} - ) +if( MAKE_LINK_MAPS ) + set_target_properties( cvpcb PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=cvpcb.map" ) +endif() + +# the main cvpcb program, in DSO form. +add_library( cvpcb_kiface MODULE + cvpcb.cpp + ${CVPCB_SRCS} + ${CVPCB_DIALOGS} + ) +set_target_properties( cvpcb_kiface PROPERTIES + OUTPUT_NAME cvpcb + PREFIX ${KIFACE_PREFIX} + SUFFIX ${KIFACE_SUFFIX} + ) +target_link_libraries( cvpcb_kiface + 3d-viewer + pcbcommon + pcad2kicadpcb + common + bitmaps + polygon + gal + ${wxWidgets_LIBRARIES} + ${OPENGL_LIBRARIES} + ${GDI_PLUS_LIBRARIES} + ${GLEW_LIBRARIES} + ${CAIRO_LIBRARIES} + ${PIXMAN_LIBRARY} + ${OPENMP_LIBRARIES} + ) + +# Only for win32 cross compilation using MXE +if( WIN32 AND MSYS AND CMAKE_CROSSCOMPILING ) target_link_libraries( cvpcb_kiface - 3d-viewer - pcbcommon - pcad2kicadpcb - common - bitmaps - polygon - gal - ${wxWidgets_LIBRARIES} - ${OPENGL_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ${GLEW_LIBRARIES} - ${CAIRO_LIBRARIES} - ${PIXMAN_LIBRARY} - ${OPENMP_LIBRARIES} + opengl32 + glu32 + pixman-1 + fontconfig + freetype + bz2 + ) +endif() + +if( BUILD_GITHUB_PLUGIN ) + target_link_libraries( cvpcb_kiface github_plugin ) +endif() + +# Must follow github_plugin +target_link_libraries( cvpcb_kiface ${Boost_LIBRARIES} ) + +if( UNIX AND NOT APPLE ) + # -lrt must follow Boost + target_link_libraries( cvpcb_kiface rt ) +endif() + +set_source_files_properties( cvpcb.cpp PROPERTIES + # The KIFACE is in cvpcb.cpp, export it: + COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + ) + +if( MAKE_LINK_MAPS ) + set_target_properties( cvpcb_kiface PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_cvpcb.kiface.map" ) +endif() + +# if building cvpcb, then also build cvpcb_kiface if out of date. +add_dependencies( cvpcb cvpcb_kiface ) + +# these 2 binaries are a matched set, keep them together: +if( APPLE ) + set_target_properties( cvpcb PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) - # Only for win32 cross compilation using MXE - if( WIN32 AND MSYS AND CMAKE_CROSSCOMPILING ) - target_link_libraries( cvpcb_kiface - opengl32 - glu32 - pixman-1 - fontconfig - freetype - bz2 - ) - endif() - - if( BUILD_GITHUB_PLUGIN ) - target_link_libraries( cvpcb_kiface github_plugin ) - endif() - - # Must follow github_plugin - target_link_libraries( cvpcb_kiface ${Boost_LIBRARIES} ) - - if( UNIX AND NOT APPLE ) - # -lrt must follow Boost - target_link_libraries( cvpcb_kiface rt ) - endif() - - set_source_files_properties( cvpcb.cpp PROPERTIES - # The KIFACE is in cvpcb.cpp, export it: - COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + # puts binaries into the *.app bundle while linking + set_target_properties( cvpcb_kiface PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_KIFACE_DIR} ) - - if( MAKE_LINK_MAPS ) - set_target_properties( cvpcb_kiface PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_cvpcb.kiface.map" ) - endif() - - # if building cvpcb, then also build cvpcb_kiface if out of date. - add_dependencies( cvpcb cvpcb_kiface ) - - # these 2 binaries are a matched set, keep them together: - if( APPLE ) - set_target_properties( cvpcb PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist - ) - - # puts binaries into the *.app bundle while linking - set_target_properties( cvpcb_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 cvpcb - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( CODE " + # put individual bundle outside of main bundle as a first step + # will be pulled into the main bundle when creating main bundle + install( TARGETS cvpcb + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) + install( CODE " # override default embedded path settings ${OSX_BUNDLE_OVERRIDE_PATHS} @@ -181,62 +181,14 @@ if( USE_KIWAY_DLLS ) \"\" ) " COMPONENT Runtime - ) - else() - install( TARGETS cvpcb - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( TARGETS cvpcb_kiface - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - endif() - + ) else() - - add_executable( cvpcb WIN32 MACOSX_BUNDLE - ${CVPCB_SRCS} - ${CVPCB_DIALOGS} - ${CVPCB_RESOURCES} - ) - target_link_libraries( cvpcb - 3d-viewer - pcbcommon - pcad2kicadpcb - common - bitmaps - polygon - gal - ${wxWidgets_LIBRARIES} - ${OPENGL_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ${GLEW_LIBRARIES} - ${CAIRO_LIBRARIES} - ${PIXMAN_LIBRARY} - ) - - # Only for win32 cross compilation using MXE - if( WIN32 AND MSYS AND CMAKE_CROSSCOMPILING ) - target_link_libraries( cvpcb - opengl32 - glu32 - pixman-1 - fontconfig - freetype - bz2 - ) - endif() - - if( BUILD_GITHUB_PLUGIN ) - target_link_libraries( cvpcb github_plugin ) - endif() - - # Must follow github_plugin - target_link_libraries( cvpcb ${Boost_LIBRARIES} ) - install( TARGETS cvpcb DESTINATION ${KICAD_BIN} COMPONENT binary ) + install( TARGETS cvpcb_kiface + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) endif() diff --git a/eeschema/CMakeLists.txt b/eeschema/CMakeLists.txt index 78ccc5d41c..adbf37c83f 100644 --- a/eeschema/CMakeLists.txt +++ b/eeschema/CMakeLists.txt @@ -218,79 +218,77 @@ if( APPLE ) endif() -if( USE_KIWAY_DLLS ) - add_executable( eeschema WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - ../common/pgm_base.cpp - ${EESCHEMA_RESOURCES} - ) - set_source_files_properties( ../common/single_top.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=FRAME_SCH;PGM_DATA_FILE_EXT=\"sch\";BUILD_KIWAY_DLL" - ) - target_link_libraries( eeschema - #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} - ) +add_executable( eeschema WIN32 MACOSX_BUNDLE + ../common/single_top.cpp + ../common/pgm_base.cpp + ${EESCHEMA_RESOURCES} + ) +set_source_files_properties( ../common/single_top.cpp PROPERTIES + COMPILE_DEFINITIONS "TOP_FRAME=FRAME_SCH;PGM_DATA_FILE_EXT=\"sch\";BUILD_KIWAY_DLL" + ) +target_link_libraries( eeschema + #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} + ) - # the DSO (KIFACE) housing the main eeschema code: - add_library( eeschema_kiface MODULE - ${EESCHEMA_SRCS} - ${EESCHEMA_COMMON_SRCS} -# ${EESCHEMA_RESOURCES} - ) - target_link_libraries( eeschema_kiface - common - bitmaps - polygon - ${wxWidgets_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ) +# the DSO (KIFACE) housing the main eeschema code: +add_library( eeschema_kiface MODULE + ${EESCHEMA_SRCS} + ${EESCHEMA_COMMON_SRCS} + ) +target_link_libraries( eeschema_kiface + common + bitmaps + polygon + ${wxWidgets_LIBRARIES} + ${GDI_PLUS_LIBRARIES} + ) +set_target_properties( eeschema_kiface PROPERTIES + # Decorate OUTPUT_NAME with PREFIX and SUFFIX, creating something like + # _eeschema.so, _eeschema.dll, or _eeschema.kiface + OUTPUT_NAME eeschema + PREFIX ${KIFACE_PREFIX} + SUFFIX ${KIFACE_SUFFIX} + ) + +# The KIFACE is in eeschema.cpp, export it: +set_source_files_properties( eeschema.cpp PROPERTIES + COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + ) + +# if building eeschema, then also build eeschema_kiface if out of date. +add_dependencies( eeschema eeschema_kiface ) + +if( MAKE_LINK_MAPS ) + # generate link map with cross reference set_target_properties( eeschema_kiface PROPERTIES - # Decorate OUTPUT_NAME with PREFIX and SUFFIX, creating something like - # _eeschema.so, _eeschema.dll, or _eeschema.kiface - OUTPUT_NAME eeschema - PREFIX ${KIFACE_PREFIX} - SUFFIX ${KIFACE_SUFFIX} + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=${KIFACE_PREFIX}eeschema${KIFACE_SUFFIX}.map" + ) + set_target_properties( eeschema PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=eeschema.map" + ) +endif() + +# these 2 binaries are a matched set, keep them together: +if( APPLE ) + set_target_properties( eeschema PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) - # The KIFACE is in eeschema.cpp, export it: - set_source_files_properties( eeschema.cpp PROPERTIES - COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + # puts binaries into the *.app bundle while linking + set_target_properties( eeschema_kiface PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_KIFACE_DIR} ) - - # if building eeschema, then also build eeschema_kiface if out of date. - add_dependencies( eeschema eeschema_kiface ) - - if( MAKE_LINK_MAPS ) - # generate link map with cross reference - set_target_properties( eeschema_kiface PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=${KIFACE_PREFIX}eeschema${KIFACE_SUFFIX}.map" - ) - set_target_properties( eeschema PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=eeschema.map" - ) - endif() - - # these 2 binaries are a matched set, keep them together: - if( APPLE ) - set_target_properties( eeschema PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist - ) - - # puts binaries into the *.app bundle while linking - set_target_properties( eeschema_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 eeschema - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( CODE " + # put individual bundle outside of main bundle as a first step + # will be pulled into the main bundle when creating main bundle + install( TARGETS eeschema + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) + install( CODE " # override default embedded path settings ${OSX_BUNDLE_OVERRIDE_PATHS} @@ -301,46 +299,18 @@ if( USE_KIWAY_DLLS ) \"\" ) " COMPONENT Runtime - ) - else() - install( TARGETS eeschema - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( TARGETS eeschema_kiface - # actual filename subject to change at milestone C) - # modular-kicad blueprint. - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - endif() - + ) else() - add_executable( eeschema WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - ${EESCHEMA_SRCS} - ${EESCHEMA_COMMON_SRCS} - ${EESCHEMA_RESOURCES} - ) - - target_link_libraries( eeschema - common -# lib_kicad - bitmaps - polygon - ${wxWidgets_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ) - - set_source_files_properties( ../common/single_top.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=FRAME_SCH;PGM_DATA_FILE_EXT=\"sch\";BUILD_KIWAY_DLL" - ) - install( TARGETS eeschema DESTINATION ${KICAD_BIN} COMPONENT binary ) - + install( TARGETS eeschema_kiface + # actual filename subject to change at milestone C) + # modular-kicad blueprint. + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) endif() # auto-generate cmp_library_lexer.h and cmp_library_keywords.cpp for the component diff --git a/gerbview/CMakeLists.txt b/gerbview/CMakeLists.txt index 24003bc92a..953471f3c1 100644 --- a/gerbview/CMakeLists.txt +++ b/gerbview/CMakeLists.txt @@ -93,77 +93,77 @@ if( APPLE ) set( MACOSX_BUNDLE_NAME gerbview ) endif() -if( USE_KIWAY_DLLS ) +add_executable( gerbview WIN32 MACOSX_BUNDLE + ../common/single_top.cpp + ../common/pgm_base.cpp + ${GERBVIEW_RESOURCES} + ) +set_source_files_properties( ../common/single_top.cpp PROPERTIES + COMPILE_DEFINITIONS "TOP_FRAME=FRAME_GERBER;BUILD_KIWAY_DLL" + ) +target_link_libraries( gerbview + #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} + ) - add_executable( gerbview WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - ../common/pgm_base.cpp - ${GERBVIEW_RESOURCES} - ) - set_source_files_properties( ../common/single_top.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=FRAME_GERBER;BUILD_KIWAY_DLL" - ) - target_link_libraries( gerbview - #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( gerbview PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=gerbview.map" ) - endif() +if( MAKE_LINK_MAPS ) + set_target_properties( gerbview PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=gerbview.map" ) +endif() - # the main gerbview program, in DSO form. - add_library( gerbview_kiface MODULE - gerbview.cpp - ${GERBVIEW_SRCS} - ${DIALOGS_SRCS} - ${GERBVIEW_EXTRA_SRCS} - ) +# the main gerbview program, in DSO form. +add_library( gerbview_kiface MODULE + gerbview.cpp + ${GERBVIEW_SRCS} + ${DIALOGS_SRCS} + ${GERBVIEW_EXTRA_SRCS} + ) +set_target_properties( gerbview_kiface PROPERTIES + OUTPUT_NAME gerbview + PREFIX ${KIFACE_PREFIX} + SUFFIX ${KIFACE_SUFFIX} + ) +target_link_libraries( gerbview_kiface + common + polygon + bitmaps + ${OPENGL_LIBRARIES} + ${wxWidgets_LIBRARIES} + ${GDI_PLUS_LIBRARIES} + ) +set_source_files_properties( gerbview.cpp PROPERTIES + # The KIFACE is in gerbview.cpp, export it: + COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + ) + +if( MAKE_LINK_MAPS ) set_target_properties( gerbview_kiface PROPERTIES - OUTPUT_NAME gerbview - PREFIX ${KIFACE_PREFIX} - SUFFIX ${KIFACE_SUFFIX} - ) - target_link_libraries( gerbview_kiface - common - polygon - bitmaps - ${OPENGL_LIBRARIES} - ${wxWidgets_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ) - set_source_files_properties( gerbview.cpp PROPERTIES - # The KIFACE is in gerbview.cpp, export it: - COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" - ) - if( MAKE_LINK_MAPS ) - set_target_properties( gerbview_kiface PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_gerbview.kiface.map" ) - endif() + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_gerbview.kiface.map" ) +endif() - # if building gerbview, then also build gerbview_kiface if out of date. - add_dependencies( gerbview gerbview_kiface ) +# if building gerbview, then also build gerbview_kiface if out of date. +add_dependencies( gerbview gerbview_kiface ) - # these 2 binaries are a matched set, keep them together - if( APPLE ) - set_target_properties( gerbview PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist - ) +# these 2 binaries are a matched set, keep them together +if( APPLE ) + set_target_properties( gerbview PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist + ) - # puts binaries into the *.app bundle while linking - set_target_properties( gerbview_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 gerbview - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( CODE " + # puts binaries into the *.app bundle while linking + set_target_properties( gerbview_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 gerbview + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) + install( CODE " # override default embedded path settings ${OSX_BUNDLE_OVERRIDE_PATHS} @@ -174,38 +174,14 @@ if( USE_KIWAY_DLLS ) \"\" ) " COMPONENT Runtime - ) - else() - install( TARGETS gerbview - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( TARGETS gerbview_kiface - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - endif() - + ) else() - - add_executable( gerbview WIN32 MACOSX_BUNDLE - gerbview.cpp - ${GERBVIEW_SRCS} - ${DIALOGS_SRCS} - ${GERBVIEW_EXTRA_SRCS} - ${GERBVIEW_RESOURCES} - ) - target_link_libraries( gerbview - common - polygon - bitmaps - ${OPENGL_LIBRARIES} - ${wxWidgets_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ) install( TARGETS gerbview DESTINATION ${KICAD_BIN} COMPONENT binary ) - + install( TARGETS gerbview_kiface + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) endif() diff --git a/pagelayout_editor/CMakeLists.txt b/pagelayout_editor/CMakeLists.txt index d2cbdba0bb..b38936a9e5 100644 --- a/pagelayout_editor/CMakeLists.txt +++ b/pagelayout_editor/CMakeLists.txt @@ -67,121 +67,97 @@ if( APPLE ) 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( USE_KIWAY_DLLS ) +if( MAKE_LINK_MAPS ) + set_target_properties( pl_editor PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pl_editor.map" ) +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 + ${OPENGL_LIBRARIES} + ${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" + ) - # 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 - ${OPENGL_LIBRARIES} - ${wxWidgets_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ) +if( MAKE_LINK_MAPS ) set_target_properties( pl_editor_kiface PROPERTIES - OUTPUT_NAME pl_editor - PREFIX ${KIFACE_PREFIX} - SUFFIX ${KIFACE_SUFFIX} + 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 ) - set_source_files_properties( pl_editor.cpp PROPERTIES - # The KIFACE is in pcbnew.cpp, export it: - COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + + # puts binaries into the *.app bundle while linking + set_target_properties( pl_editor_kiface PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_KIFACE_DIR} ) - 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() - -else() - - add_executable( pl_editor WIN32 MACOSX_BUNDLE - pl_editor.cpp - ${PL_EDITOR_SRCS} - ${DIALOGS_SRCS} - ${PL_EDITOR_EXTRA_SRCS} - ${PL_EDITOR_RESOURCES} - ) - target_link_libraries( pl_editor - common - polygon - bitmaps - ${OPENGL_LIBRARIES} - ${wxWidgets_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ) + # 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() diff --git a/pcb_calculator/CMakeLists.txt b/pcb_calculator/CMakeLists.txt index 172fa7f26c..97b4bc22d3 100644 --- a/pcb_calculator/CMakeLists.txt +++ b/pcb_calculator/CMakeLists.txt @@ -53,122 +53,94 @@ if( APPLE ) set( MACOSX_BUNDLE_NAME pcb_calculator ) endif() +add_executable( pcb_calculator WIN32 MACOSX_BUNDLE + ../common/single_top.cpp + ../common/pgm_base.cpp + ${PCB_CALCULATOR_RESOURCES} + ) +set_source_files_properties( ../common/single_top.cpp PROPERTIES + COMPILE_DEFINITIONS "TOP_FRAME=FRAME_CALC;BUILD_KIWAY_DLL" + ) +target_link_libraries( pcb_calculator + #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( USE_KIWAY_DLLS ) -#if( false ) +if( MAKE_LINK_MAPS ) + set_target_properties( pcb_calculator PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pcb_calculator.map" ) +endif() - add_executable( pcb_calculator WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - ../common/pgm_base.cpp - ${PCB_CALCULATOR_RESOURCES} - ) - set_source_files_properties( ../common/single_top.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=FRAME_CALC;BUILD_KIWAY_DLL" - ) - target_link_libraries( pcb_calculator - #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( pcb_calculator PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pcb_calculator.map" ) - endif() +# the main pcb_calculator program, in DSO form. +add_library( pcb_calculator_kiface MODULE + pcb_calculator.cpp + ${PCB_CALCULATOR_SRCS} + ) +set_target_properties( pcb_calculator_kiface PROPERTIES + OUTPUT_NAME pcb_calculator + PREFIX ${KIFACE_PREFIX} + SUFFIX ${KIFACE_SUFFIX} + ) +target_link_libraries( pcb_calculator_kiface + common + bitmaps + polygon + ${wxWidgets_LIBRARIES} + ) +set_source_files_properties( pcb_calculator.cpp PROPERTIES + # The KIFACE is in pcb_calculator.cpp, export it: + COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + ) - # the main pcb_calculator program, in DSO form. - add_library( pcb_calculator_kiface MODULE - pcb_calculator.cpp - ${PCB_CALCULATOR_SRCS} - ) +if( MAKE_LINK_MAPS ) set_target_properties( pcb_calculator_kiface PROPERTIES - OUTPUT_NAME pcb_calculator - PREFIX ${KIFACE_PREFIX} - SUFFIX ${KIFACE_SUFFIX} - ) - target_link_libraries( pcb_calculator_kiface - common - bitmaps - polygon - ${wxWidgets_LIBRARIES} - ) - set_source_files_properties( pcb_calculator.cpp PROPERTIES - # The KIFACE is in pcb_calculator.cpp, export it: - COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" - ) - if( MAKE_LINK_MAPS ) - set_target_properties( pcb_calculator_kiface PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_pcb_calculator.kiface.map" ) - endif() + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_pcb_calculator.kiface.map" ) +endif() - # if building pcb_calculator, then also build pcb_calculator_kiface if out of date. - add_dependencies( pcb_calculator pcb_calculator_kiface ) +# if building pcb_calculator, then also build pcb_calculator_kiface if out of date. +add_dependencies( pcb_calculator pcb_calculator_kiface ) - # these 2 binaries are a matched set, keep them together - if( APPLE ) - set_target_properties( pcb_calculator PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist - ) - - # puts binaries into the *.app bundle while linking - set_target_properties( pcb_calculator_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 pcb_calculator - 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}/pcb_calculator.app/Contents/MacOS/pcb_calculator - \"\" - \"\" - ) - " COMPONENT Runtime - ) - else() - install( TARGETS pcb_calculator - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( TARGETS pcb_calculator_kiface - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - endif() - -else() - - add_executable( pcb_calculator WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - pcb_calculator.cpp - ${PCB_CALCULATOR_SRCS} - ${PCB_CALCULATOR_RESOURCES} +# these 2 binaries are a matched set, keep them together +if( APPLE ) + set_target_properties( pcb_calculator PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) - set_source_files_properties( ../common/single_top.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=0" - ) - set_source_files_properties( pcb_calculator.cpp PROPERTIES - COMPILE_DEFINITIONS "COMPILING_DLL" - ) - target_link_libraries( pcb_calculator - common - bitmaps - polygon - ${wxWidgets_LIBRARIES} + + # puts binaries into the *.app bundle while linking + set_target_properties( pcb_calculator_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 pcb_calculator 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}/pcb_calculator.app/Contents/MacOS/pcb_calculator + \"\" + \"\" + ) + " COMPONENT Runtime + ) +else() + install( TARGETS pcb_calculator + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) + install( TARGETS pcb_calculator_kiface + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) endif() # auto-generate pcb_calculator_datafile.h and pcb_calculator_datafile_keywords.cpp diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index 9a1e6e923a..494b373369 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -235,9 +235,6 @@ set( PCBNEW_CLASS_SRCS printout_controler.cpp ratsnest.cpp ratsnest_viewitem.cpp -# specctra.cpp #moved in pcbcommon lib -# specctra_export.cpp -# specctra_keywords.cpp specctra_import.cpp swap_layers.cpp target_edit.cpp @@ -513,188 +510,126 @@ if( BUILD_GITHUB_PLUGIN ) endif() -if( USE_KIWAY_DLLS ) -#if( false ) +# a very small program launcher for pcbnew_kiface +add_executable( pcbnew WIN32 MACOSX_BUNDLE + ../common/single_top.cpp + ${PCBNEW_RESOURCES} + ) +set_source_files_properties( ../common/single_top.cpp pcbnew.cpp PROPERTIES + COMPILE_DEFINITIONS "TOP_FRAME=FRAME_PCB;PGM_DATA_FILE_EXT=\"kicad_pcb\";BUILD_KIWAY_DLL" + ) +target_link_libraries( pcbnew + #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} + ) - # a very small program launcher for pcbnew_kiface - add_executable( pcbnew WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - ${PCBNEW_RESOURCES} - ) - set_source_files_properties( ../common/single_top.cpp pcbnew.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=FRAME_PCB;PGM_DATA_FILE_EXT=\"kicad_pcb\";BUILD_KIWAY_DLL" - ) - target_link_libraries( pcbnew - #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( pcbnew PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pcbnew.map" ) - endif() +if( MAKE_LINK_MAPS ) + set_target_properties( pcbnew PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pcbnew.map" ) +endif() - # the main pcbnew program, in DSO form. - add_library( pcbnew_kiface MODULE - pcbnew.cpp - ${PCBNEW_SRCS} - ${PCBNEW_COMMON_SRCS} - ${PCBNEW_SCRIPTING_SRCS} - ) +# the main pcbnew program, in DSO form. +add_library( pcbnew_kiface MODULE + pcbnew.cpp + ${PCBNEW_SRCS} + ${PCBNEW_COMMON_SRCS} + ${PCBNEW_SCRIPTING_SRCS} + ) +set_target_properties( pcbnew_kiface PROPERTIES + # Decorate OUTPUT_NAME with PREFIX and SUFFIX, creating something like + # _pcbnew.so, _pcbnew.dll, or _pcbnew.kiface + OUTPUT_NAME pcbnew + PREFIX ${KIFACE_PREFIX} + SUFFIX ${KIFACE_SUFFIX} + ) + +if( ${OPENMP_FOUND} ) set_target_properties( pcbnew_kiface PROPERTIES - # Decorate OUTPUT_NAME with PREFIX and SUFFIX, creating something like - # _pcbnew.so, _pcbnew.dll, or _pcbnew.kiface - OUTPUT_NAME pcbnew - PREFIX ${KIFACE_PREFIX} - SUFFIX ${KIFACE_SUFFIX} + COMPILE_FLAGS ${OpenMP_CXX_FLAGS} ) - if( ${OPENMP_FOUND} ) - set_target_properties( pcbnew_kiface PROPERTIES - COMPILE_FLAGS ${OpenMP_CXX_FLAGS} - ) - endif() +endif() - target_link_libraries( pcbnew_kiface - 3d-viewer - pcbcommon - pnsrouter - common - pcad2kicadpcb - polygon - bitmaps - gal - lib_dxf - idf3 - ${GITHUB_PLUGIN_LIBRARIES} - ${wxWidgets_LIBRARIES} - ${OPENGL_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ${PYTHON_LIBRARIES} - ${GLEW_LIBRARIES} - ${CAIRO_LIBRARIES} - ${PIXMAN_LIBRARY} - ${Boost_LIBRARIES} # must follow GITHUB - ${PCBNEW_EXTRA_LIBS} # -lrt must follow Boost - ${OPENMP_LIBRARIES} +target_link_libraries( pcbnew_kiface + 3d-viewer + pcbcommon + pnsrouter + common + pcad2kicadpcb + polygon + bitmaps + gal + lib_dxf + idf3 + ${GITHUB_PLUGIN_LIBRARIES} + ${wxWidgets_LIBRARIES} + ${OPENGL_LIBRARIES} + ${GDI_PLUS_LIBRARIES} + ${PYTHON_LIBRARIES} + ${GLEW_LIBRARIES} + ${CAIRO_LIBRARIES} + ${PIXMAN_LIBRARY} + ${Boost_LIBRARIES} # must follow GITHUB + ${PCBNEW_EXTRA_LIBS} # -lrt must follow Boost + ${OPENMP_LIBRARIES} + ) +set_source_files_properties( pcbnew.cpp PROPERTIES + # The KIFACE is in pcbnew.cpp, export it: + COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + ) + +if( MAKE_LINK_MAPS ) + set_target_properties( pcbnew_kiface PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_pcbnew.kiface.map" ) - set_source_files_properties( pcbnew.cpp PROPERTIES - # The KIFACE is in pcbnew.cpp, export it: - COMPILE_DEFINITIONS "BUILD_KIWAY_DLL;COMPILING_DLL" + set_target_properties( pcbnew PROPERTIES + LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pcbnew.map" ) - if( MAKE_LINK_MAPS ) - set_target_properties( pcbnew_kiface PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=_pcbnew.kiface.map" - ) - set_target_properties( pcbnew PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pcbnew.map" - ) - endif() +endif() - # if building pcbnew, then also build pcbnew_kiface if out of date. - add_dependencies( pcbnew pcbnew_kiface ) +# if building pcbnew, then also build pcbnew_kiface if out of date. +add_dependencies( pcbnew pcbnew_kiface ) - # these 2 binaries are a matched set, keep them together: - if( APPLE ) - set_target_properties( pcbnew PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist - ) - - # puts binaries into the *.app bundle while linking - set_target_properties( pcbnew_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 pcbnew - 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}/pcbnew.app/Contents/MacOS/pcbnew - \"\" - \"\" - ) - " COMPONENT Runtime - ) - else() - install( TARGETS pcbnew - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - install( TARGETS pcbnew_kiface - DESTINATION ${KICAD_BIN} - COMPONENT binary - ) - endif() - -else() # milestone A) kills this off: - - add_executable( pcbnew WIN32 MACOSX_BUNDLE - ../common/single_top.cpp - pcbnew.cpp - ${PCBNEW_SRCS} - ${PCBNEW_COMMON_SRCS} - ${PCBNEW_SCRIPTING_SRCS} - ${PCBNEW_RESOURCES} - ) - set_source_files_properties( ../common/single_top.cpp PROPERTIES - COMPILE_DEFINITIONS "TOP_FRAME=FRAME_PCB;PGM_DATA_FILE_EXT=\"kicad_pcb\"" - ) - target_link_libraries( pcbnew - 3d-viewer - pcbcommon - pnsrouter - common - pcad2kicadpcb - polygon - bitmaps - gal - lib_dxf - idf3 - ${GITHUB_PLUGIN_LIBRARIES} - ${wxWidgets_LIBRARIES} - ${OPENGL_LIBRARIES} - ${GDI_PLUS_LIBRARIES} - ${PYTHON_LIBRARIES} - ${GLEW_LIBRARIES} - ${CAIRO_LIBRARIES} - ${PIXMAN_LIBRARY} - ${Boost_LIBRARIES} # must follow GITHUB - ${PCBNEW_EXTRA_LIBS} +# these 2 binaries are a matched set, keep them together: +if( APPLE ) + set_target_properties( pcbnew PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) - # Only for win32 cross compilation using MXE - if( WIN32 AND MSYS AND CMAKE_CROSSCOMPILING ) - target_link_libraries( pcbnew - opengl32 - glu32 - pixman-1 - fontconfig - freetype - bz2 - ) - endif() - - if( MAKE_LINK_MAPS ) - # generate a link map with cross reference - set_target_properties( pcbnew PROPERTIES - LINK_FLAGS "${TO_LINKER},-cref ${TO_LINKER},-Map=pcbnew.map" - ) - endif() - + # puts binaries into the *.app bundle while linking + set_target_properties( pcbnew_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 pcbnew DESTINATION ${KICAD_BIN} COMPONENT binary ) -endif() + install( CODE " + # override default embedded path settings + ${OSX_BUNDLE_OVERRIDE_PATHS} + # do all the work + include( BundleUtilities ) + fixup_bundle( ${KICAD_BIN}/pcbnew.app/Contents/MacOS/pcbnew + \"\" + \"\" + ) + " COMPONENT Runtime + ) +else() + install( TARGETS pcbnew + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) + install( TARGETS pcbnew_kiface + DESTINATION ${KICAD_BIN} + COMPONENT binary + ) +endif() add_dependencies( pcbnew lib-dependencies )