From 1c232f5608ad737c32f9db8aeaac2b33a59c7c14 Mon Sep 17 00:00:00 2001 From: Marco Serantoni Date: Sat, 22 Mar 2014 12:35:33 +0100 Subject: [PATCH] [MacOSX] Support for kiface in bundles, workaround for some cairo issues --- CMakeModules/download_cairo.cmake | 7 ++++--- cvpcb/CMakeLists.txt | 9 +++++++++ eeschema/CMakeLists.txt | 9 +++++++++ gerbview/CMakeLists.txt | 9 +++++++++ pcb_calculator/CMakeLists.txt | 9 +++++++++ pcbnew/CMakeLists.txt | 9 +++++++++ 6 files changed, 49 insertions(+), 3 deletions(-) diff --git a/CMakeModules/download_cairo.cmake b/CMakeModules/download_cairo.cmake index 26ab53e3e9..2d8b30eb98 100644 --- a/CMakeModules/download_cairo.cmake +++ b/CMakeModules/download_cairo.cmake @@ -103,6 +103,7 @@ ExternalProject_Add( cairo ) # match these with whatever FindCairo.cmake sets -set( CAIRO_FOUND true ) -set( CAIRO_INCLUDE_DIR ${PREFIX}/include ) -set( CAIRO_CAIRO_LIBRARIES ${PREFIX}/lib ) +# Dick i'vent set it because /lib and /lib64 issue in non multiarch binaries OSs +#set( CAIRO_FOUND true ) +set( CAIRO_INCLUDE_DIR ${CAIRO_ROOT}/include ) +set( CAIRO_LIBRARIES ${CAIRO_ROOT}/lib ) diff --git a/cvpcb/CMakeLists.txt b/cvpcb/CMakeLists.txt index de080fbf89..aa04eb2f5c 100644 --- a/cvpcb/CMakeLists.txt +++ b/cvpcb/CMakeLists.txt @@ -171,6 +171,15 @@ if( USE_KIWAY_DLLS ) COMPONENT binary ) + if( APPLE ) + # copies kiface into the bundle + add_custom_target( _cvpcb_kiface_copy ALL + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/cvpcb/_cvpcb.kiface "${CMAKE_BINARY_DIR}/cvpcb/cvpcb.app/Contents/MacOS/" + DEPENDS cvpcb_kiface + COMMENT "Copying kiface into cvpcb" + ) + endif() + else() add_executable( cvpcb WIN32 MACOSX_BUNDLE diff --git a/eeschema/CMakeLists.txt b/eeschema/CMakeLists.txt index 9ae138f429..bd04eebb7d 100644 --- a/eeschema/CMakeLists.txt +++ b/eeschema/CMakeLists.txt @@ -312,6 +312,15 @@ if( USE_KIWAY_DLLS ) COMPONENT binary ) + if( APPLE ) + # copies kiface into the bundle + add_custom_target( _eeschema_kiface_copy ALL + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/eeschema/_eeschema.kiface "${CMAKE_BINARY_DIR}/eeschema/eeschema.app/Contents/MacOS/" + DEPENDS eeschema_kiface + COMMENT "Copying kiface into eeschema" + ) + endif() + else() add_executable( eeschema WIN32 MACOSX_BUNDLE ../common/single_top.cpp diff --git a/gerbview/CMakeLists.txt b/gerbview/CMakeLists.txt index 82e27ca1aa..685c826a1d 100644 --- a/gerbview/CMakeLists.txt +++ b/gerbview/CMakeLists.txt @@ -151,6 +151,15 @@ if( USE_KIWAY_DLLS ) COMPONENT binary ) + if( APPLE ) + # copies kiface into the bundle + add_custom_target( _gerbview_kiface_copy ALL + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/gerbview/_gerbview.kiface "${CMAKE_BINARY_DIR}/gerbview/gerbview.app/Contents/MacOS/" + DEPENDS gerbview_kiface + COMMENT "Copying kiface into gerbview" + ) + endif() + else() add_executable( gerbview WIN32 MACOSX_BUNDLE diff --git a/pcb_calculator/CMakeLists.txt b/pcb_calculator/CMakeLists.txt index 51f1e21c66..fb8e189859 100644 --- a/pcb_calculator/CMakeLists.txt +++ b/pcb_calculator/CMakeLists.txt @@ -134,6 +134,15 @@ if( USE_KIWAY_DLLS ) ) endif() + if( APPLE ) + # copies kiface into the bundle + add_custom_target( _pcb_calculator_kiface_copy ALL + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/pcb_calculator/_pcb_calculator.kiface "${CMAKE_BINARY_DIR}/pcb_calculator/pcb_calculator.app/Contents/MacOS/" + DEPENDS pcb_calculator_kiface + COMMENT "Copying kiface into pcb_calculator" + ) + endif() + else() add_executable( pcb_calculator WIN32 MACOSX_BUNDLE diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index d4fe33441d..ca49ce6f64 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -580,6 +580,15 @@ if( USE_KIWAY_DLLS ) COMPONENT binary ) + if( APPLE ) + # copies kiface into the bundle + add_custom_target( _pcbnew_kiface_copy ALL + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/pcbnew/_pcbnew.kiface "${CMAKE_BINARY_DIR}/pcbnew/pcbnew.app/Contents/MacOS/" + DEPENDS pcbnew_kiface + COMMENT "Copying kiface into pcbnew" + ) + endif() + else() # milestone A) kills this off: add_executable( pcbnew WIN32 MACOSX_BUNDLE