OSX build improvements.
* Compile all binaries into a single application bundle. * Use CMake BundleUtilities to make application bundle relocatable. * Restructure build output to directly create an image file. * Fix default search paths. * Set KIGITHUB environment variable. * Added patch to fix wxWidgets so names for OSX.
This commit is contained in:
parent
e6274f70b0
commit
8b3c14c08b
|
@ -312,7 +312,7 @@ set( KICAD_BIN bin
|
|||
set( KICAD_FP_LIB_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}"
|
||||
CACHE PATH "Default path where footprint libraries are installed." )
|
||||
|
||||
if( UNIX )
|
||||
if( UNIX AND NOT APPLE )
|
||||
# Everything without leading / is relative to CMAKE_INSTALL_PREFIX.
|
||||
set( KICAD_PLUGINS lib/kicad/plugins
|
||||
CACHE PATH "Location of KiCad plugins." )
|
||||
|
@ -339,6 +339,38 @@ set( KICAD_DEMOS ${KICAD_DATA}/demos
|
|||
set( KICAD_TEMPLATE ${KICAD_DATA}/template
|
||||
CACHE PATH "Location of KiCad template files." )
|
||||
|
||||
if( APPLE )
|
||||
# Everything without leading / is relative to CMAKE_INSTALL_PREFIX.
|
||||
# CMAKE_INSTALL_PREFIX is root of .dmg image
|
||||
set( KICAD_BIN ${CMAKE_INSTALL_PREFIX}
|
||||
CACHE PATH "Location of KiCad binaries." FORCE )
|
||||
|
||||
# everything provided with the application bundle goes into
|
||||
# kicad.app/Contents/SharedSupport => accessible via GetDataDir()
|
||||
# everything else to the .dmg image
|
||||
set( KICAD_DATA ${CMAKE_INSTALL_PREFIX}/kicad.app/Contents/SharedSupport
|
||||
CACHE PATH "Location of KiCad data files." FORCE )
|
||||
set( KICAD_PLUGINS ${KICAD_DATA}/plugins
|
||||
CACHE PATH "Location of KiCad plugins." FORCE )
|
||||
set( KICAD_DOCS doc
|
||||
CACHE PATH "Location of KiCad documentation files." FORCE )
|
||||
set( KICAD_TEMPLATE ${KICAD_DATA}/template
|
||||
CACHE PATH "Location of KiCad template files." FORCE )
|
||||
set( KICAD_DEMOS demos
|
||||
CACHE PATH "Location of KiCad demo files." FORCE )
|
||||
|
||||
# used to set DEFAULT_FP_LIB_PATH in config.h.cmake, but then never used
|
||||
# set it to correct value just in case (see common.cpp)
|
||||
set( KICAD_FP_LIB_INSTALL_PATH "~/Library/Preferences/kicad" )
|
||||
|
||||
# path to binaries in single app bundle
|
||||
set( OSX_BUNDLE_BUILD_BIN_DIR "${CMAKE_BINARY_DIR}/kicad/kicad.app/Contents/MacOS" )
|
||||
set( OSX_BUNDLE_INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/kicad.app/Contents/MacOS" )
|
||||
|
||||
# plugins/libs to additionally relocate during fixup_bundle (e.g., *.kiface added in subfolders)
|
||||
set( OSX_BUNDLE_PLUGINS "" )
|
||||
endif()
|
||||
|
||||
mark_as_advanced( KICAD_BIN
|
||||
KICAD_PLUGINS
|
||||
KICAD_DATA
|
||||
|
@ -397,10 +429,10 @@ add_custom_target( lib-dependencies )
|
|||
|
||||
# Only download and build all dependencies from source on OSX if the user specifically requests
|
||||
# it. Otherwise, respect the developers wishes to use the dependencies already installed on
|
||||
# their systme.
|
||||
# their system
|
||||
if( APPLE AND USE_OSX_DEPS_BUILDER )
|
||||
|
||||
# This should be built in all cases, if swig exec is not avaiable
|
||||
# This should be built in all cases, if swig exec is not available
|
||||
# will be impossible also enable SCRIPTING being for PCBNEW required immediately
|
||||
|
||||
include( download_pcre )
|
||||
|
@ -570,7 +602,7 @@ if( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES )
|
|||
)
|
||||
|
||||
if( NOT PYTHON_SITE_PACKAGE_PATH )
|
||||
message( FATAL_ERROR "Error occurred while attemping to find the Python site library path." )
|
||||
message( FATAL_ERROR "Error occurred while attempting to find the Python site library path." )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -733,7 +765,7 @@ endif()
|
|||
###
|
||||
# FreeDesktop .desktop and MIME resources
|
||||
###
|
||||
if( UNIX )
|
||||
if( UNIX AND NOT APPLE )
|
||||
|
||||
# Set paths
|
||||
set( UNIX_MIME_DIR resources/linux/mime )
|
||||
|
|
|
@ -1,63 +1,150 @@
|
|||
Compiling KiCad on Apple Mac OS X
|
||||
=================================
|
||||
First written: 2010-01-31
|
||||
by: Jerry Jacobs <xor.gate.engineering[at]gmail[dot]com>
|
||||
|
||||
Modified at: 2014-02-07
|
||||
by: Marco Serantoni <marco.serantoni[at]gmail[dot]com>
|
||||
Building on OSX is very similar to building on Linux. This document will provide a
|
||||
complete walk-through on what to do but it will focus on OSX specific things.
|
||||
See general documentation on non-OSX specific KiCad build switches, etc.
|
||||
|
||||
Snow Leopard
|
||||
------------
|
||||
|
||||
Requirements
|
||||
* XCode Tools (http://developer.apple.com/tools/xcode)
|
||||
* bzr (bazaar)
|
||||
* CMake (http://www.cmake.org)
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
The build of Kicad for OSX is now easier than before.
|
||||
The building system will download and compile the needed libraries for you
|
||||
patching them accordly to the needs.
|
||||
Tools needed for building KiCad:
|
||||
* XCode Tools
|
||||
* bzr - Bazaar version control system
|
||||
* CMake - Cross-platform make
|
||||
|
||||
Building Kicad with no support for Scripting
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Optional tools:
|
||||
* Doxygen - Documentation system for several programming languages
|
||||
|
||||
The building needs to know if you want a static binary or a dynamic one
|
||||
Just set ONE of those two options KICAD_BUILD_STATIC or KICAD_BUILD_DYNAMIC
|
||||
|
||||
If you set KICAD_BUILD_DYNAMIC the building system will build all and include
|
||||
the needed libraries for each executable in its bundle
|
||||
Mandatory library dependencies needed to compile KiCad:
|
||||
* GLEW - The OpenGL Extension Wrangler Library
|
||||
* cairo - 2D graphics library
|
||||
* wxWidgets - Cross-Platform GUI Library
|
||||
|
||||
cmake -DKICAD_BUILD_DYNAMIC=ON .
|
||||
make
|
||||
Optional library dependencies, depends on used KiCad features
|
||||
* OpenSSL - The Open Source toolkit for SSL/TLS
|
||||
=> Needed for github plugin
|
||||
|
||||
Building Kicad with support for Scripting
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Due some problems with some dependencies the build of this kind of binary is a bit
|
||||
more complex, you should initially set KICAD_BUILD_DYNAMIC
|
||||
then issue for example
|
||||
All tools (except XCode, of course) and all dependencies except wxWidgets can be compiled
|
||||
manually, but it is advised to install them using your favorite package manager for OSX
|
||||
like MacPorts or Homebrew.
|
||||
Depending on the package manager the development packages of the library dependencies
|
||||
may have to be installed (usually something like <pkg>-dev or <pkg>-devel).
|
||||
Further, depending on the configuration of your package manager packages might have to
|
||||
be compiled with special flags/variants to support the correct architecture. E.g., some
|
||||
packages of MacPorts need to have the "+universal" variant set to also include the
|
||||
x86_64 variant that might be chosen automatically by KiCad build process.
|
||||
|
||||
cmake -DKICAD_BUILD_DYNAMIC=ON .
|
||||
make swig
|
||||
IMPORTANT:
|
||||
At the moment you *must not* use a wxWidgets version installed by any package manager.
|
||||
KiCad on OSX needs overlay support and some other fixes, which are not yet contained in
|
||||
mainline wxWidgets sources and builds.
|
||||
|
||||
After successfully building you can set your KICAD_SCRIPTING* options (for example):
|
||||
Install now the tools and library dependencies as mentioned above.
|
||||
|
||||
cmake -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_WXPYTHON=ON -DKICAD_SCRIPTING_MODULES=ON .
|
||||
make
|
||||
|
||||
The system will build all accordling your choices and package all in the bundle
|
||||
I know bundles will be huge, but those will be autosufficient.
|
||||
Folder Structure
|
||||
----------------
|
||||
|
||||
Building Kicad for other processors or Universal binaries
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
This documentation will use the following folder structure as an example, but it is not
|
||||
mandatory to do it like that:
|
||||
KiCad/
|
||||
+-- kicad/ KiCad source folder
|
||||
+-- build/ KiCad build folder
|
||||
+-- bin/ KiCad binaries folder
|
||||
+-- wx-src/ wxWidgets source folder
|
||||
+-- wx-build/ wxWidgets build folder
|
||||
+-- wx-bin/ wxWidgets binaries folder
|
||||
|
||||
I wish remember you should set the processor like
|
||||
|
||||
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64"
|
||||
Get KiCad sources
|
||||
-----------------
|
||||
|
||||
for other platforms
|
||||
Create your work root "KiCad" wherever you like and sync KiCad sources to it:
|
||||
# mkdir KiCad
|
||||
# cd KiCad
|
||||
# bzr branch lp:kicad
|
||||
|
||||
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64 -arch i386"
|
||||
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64 -arch i386 -arch ppc"
|
||||
|
||||
I know some you should prefer use ; as separator, this will be accomplished soon
|
||||
keeping support for both the syntaxes
|
||||
Compiling wxWidgets
|
||||
-------------------
|
||||
|
||||
Get wxWidgets sources from
|
||||
http://www.wxwidgets.org/downloads/
|
||||
and unpack them to the wx-src folder.
|
||||
It's recommended to use the latest stable (at the time of this writing 3.0.1) version.
|
||||
|
||||
Apply the patches needed for KiCad:
|
||||
# cd wx-src
|
||||
# patch -p0 ../kicad/patches/wxwidgets-3.0.0_macosx.patch
|
||||
# patch -p0 ../kicad/patches/wxwidgets-3.0.0_macosx_bug_15908.patch
|
||||
# patch -p0 ../kicad/patches/wxwidgets-3.0.0_macosx_soname.patch
|
||||
|
||||
Configure:
|
||||
# cd ..
|
||||
# mkdir wx-build
|
||||
# cd wx-build
|
||||
# ../wx-src/configure \
|
||||
--prefix=`pwd`/../wx-bin \
|
||||
--with-opengl \
|
||||
--enable-aui \
|
||||
--enable-utf8 \
|
||||
--enable-html \
|
||||
--enable-stl \
|
||||
--with-libjpeg=builtin \
|
||||
--with-libpng=builtin \
|
||||
--with-regex=builtin \
|
||||
--with-libtiff=builtin \
|
||||
--with-zlib=builtin \
|
||||
--with-expat=builtin \
|
||||
--without-liblzma \
|
||||
--with-macosx-version-min=10.5 \
|
||||
CPPFLAGS="-stdlib=libstdc++” \
|
||||
LDFLAGS="-stdlib=libstdc++” \
|
||||
CC=clang \
|
||||
CXX=clang++
|
||||
|
||||
Build & Install:
|
||||
# make
|
||||
... will take some time ...
|
||||
# make install
|
||||
|
||||
If everything went fine you will now have a working wxWidgets installation in the wx-bin
|
||||
folder.
|
||||
For building KiCad it is sufficient to keep the wx-bin folder.
|
||||
The above configuration of wxWidgets is known to work, if you know what you are doing
|
||||
you of course can use different settings.
|
||||
|
||||
|
||||
Compiling KiCad (without scripting support)
|
||||
-------------------------------------------
|
||||
|
||||
Change to your working root "KiCad" and create the build folder there:
|
||||
# mkdir build
|
||||
|
||||
Configure KiCad:
|
||||
# cd build
|
||||
# cmake ../kicad \
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
-DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \
|
||||
-DKICAD_SCRIPTING=OFF \
|
||||
-DKICAD_SCRIPTING_MODULES=OFF \
|
||||
-DKICAD_SCRIPTING_WXPYTHON=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX=../bin \
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
|
||||
Now KiCad is configured using default features/build-switches without scripting support.
|
||||
See Documentation/compiling/build-config.txt for a list of all CMake options available
|
||||
when compiling KiCad.
|
||||
|
||||
Build & Install:
|
||||
# make
|
||||
... will take some time ...
|
||||
# make install
|
||||
|
||||
Again, if everything went fine you will now have KiCad binaries in the "bin" folder.
|
||||
KiCad application can be directly run from there to test.
|
||||
If everything is OK, you can create a .dmg image of your "bin" folder or just copy/install
|
||||
the KiCad binaries and/or support files (like demos or documentation) wherever you want.
|
||||
|
|
|
@ -20,7 +20,7 @@ set_source_files_properties( bitmap2cmp_gui.cpp PROPERTIES
|
|||
COMPILE_DEFINITIONS "COMPILING_DLL"
|
||||
)
|
||||
|
||||
add_executable( bitmap2component WIN32 MACOSX_BUNDLE
|
||||
add_executable( bitmap2component WIN32
|
||||
${BITMAP2COMPONENT_SRCS}
|
||||
${BITMAP2COMPONENT_RESOURCES}
|
||||
)
|
||||
|
@ -33,10 +33,17 @@ target_link_libraries( bitmap2component
|
|||
potrace
|
||||
)
|
||||
|
||||
install( TARGETS bitmap2component
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( bitmap2component PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS bitmap2component
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
if( false ) # linker map with cross reference
|
||||
|
@ -52,17 +59,3 @@ if( MINGW )
|
|||
else()
|
||||
set( BITMAP2COMPONENT_RESOURCES bitmap2component.rc )
|
||||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set( BITMAP2COMPONENT_RESOURCES bitmap2component.icns )
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/bitmap2component.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set( MACOSX_BUNDLE_ICON_FILE bitmap2component.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.bitmap2component )
|
||||
|
||||
set_target_properties( bitmap2component PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
)
|
||||
endif()
|
||||
|
|
|
@ -80,7 +80,9 @@ static void setSearchPaths( SEARCH_STACK* aDst, KIWAY::FACE_T aId )
|
|||
aDst->AddPaths( fn.GetPath() );
|
||||
}
|
||||
|
||||
#ifndef __WXMAC__
|
||||
aDst->AddPaths( wxT( "/usr/local/share" ) );
|
||||
#endif
|
||||
|
||||
#if 1 && defined(DEBUG)
|
||||
aDst->Show( "kiface" );
|
||||
|
|
|
@ -26,10 +26,12 @@ void SystemDirsAppend( SEARCH_STACK* aSearchStack )
|
|||
// Otherwise don't set it.
|
||||
maybe.AddPaths( wxGetenv( wxT( "KICAD" ) ) );
|
||||
|
||||
#ifndef __WXMAC__
|
||||
// This is from CMAKE_INSTALL_PREFIX.
|
||||
// Useful when KiCad is installed by `make install`.
|
||||
// Use as second ranked place.
|
||||
maybe.AddPaths( wxT( DEFAULT_INSTALL_PATH ) );
|
||||
#endif
|
||||
|
||||
// Add the directory for the user-dependent, program specific, data files:
|
||||
// Unix: ~/.appname
|
||||
|
@ -37,6 +39,17 @@ void SystemDirsAppend( SEARCH_STACK* aSearchStack )
|
|||
// Mac: ~/Library/Application Support/appname
|
||||
maybe.AddPaths( wxStandardPaths::Get().GetUserDataDir() );
|
||||
|
||||
#ifdef __WXMAC__
|
||||
// global machine specific application data
|
||||
maybe.AddPaths( wxT( "/Library/Application Support/kicad" ) );
|
||||
|
||||
// Dir of the global (not user-specific), application specific, data files.
|
||||
// From wx docs:
|
||||
// Unix: prefix/share/appname
|
||||
// Windows: the directory where the executable file is located
|
||||
// Mac: appname.app/Contents/SharedSupport bundle subdirectory
|
||||
maybe.AddPaths( wxStandardPaths::Get().GetDataDir() );
|
||||
#else
|
||||
{
|
||||
// Should be full path to this program executable.
|
||||
wxString bin_dir = Pgm().GetExecutablePath();
|
||||
|
@ -77,12 +90,10 @@ void SystemDirsAppend( SEARCH_STACK* aSearchStack )
|
|||
*/
|
||||
#if defined(__MINGW32__)
|
||||
maybe.AddPaths( wxGetenv( wxT( "PROGRAMFILES" ) ) );
|
||||
#elif __WXMAC__
|
||||
maybe.AddPaths( wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT( "/Library/Application Support" ) );
|
||||
maybe.AddPaths( wxT( "/Library/Application Support" ) );
|
||||
#else
|
||||
maybe.AddPaths( wxGetenv( wxT( "PATH" ) ) );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG) && 0
|
||||
maybe.Show( "maybe wish list" );
|
||||
|
@ -96,6 +107,7 @@ void SystemDirsAppend( SEARCH_STACK* aSearchStack )
|
|||
{
|
||||
wxFileName fn( maybe[i], wxEmptyString );
|
||||
|
||||
#ifndef __WXMAC__
|
||||
if( fn.GetPath().AfterLast( fn.GetPathSeparator() ) == wxT( "bin" ) )
|
||||
{
|
||||
fn.RemoveLastDir();
|
||||
|
@ -103,9 +115,11 @@ void SystemDirsAppend( SEARCH_STACK* aSearchStack )
|
|||
if( !fn.GetDirCount() )
|
||||
continue; // at least on linux
|
||||
}
|
||||
#endif
|
||||
|
||||
aSearchStack->AddPaths( fn.GetPath() );
|
||||
|
||||
#ifndef __WXMAC__
|
||||
fn.AppendDir( wxT( "kicad" ) );
|
||||
aSearchStack->AddPaths( fn.GetPath() ); // add maybe[i]/kicad
|
||||
|
||||
|
@ -120,6 +134,7 @@ void SystemDirsAppend( SEARCH_STACK* aSearchStack )
|
|||
|
||||
fn.AppendDir( wxT( "kicad" ) );
|
||||
aSearchStack->AddPaths( fn.GetPath() ); // add maybe[i]/share/kicad
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(DEBUG) && 0
|
||||
|
@ -127,4 +142,3 @@ void SystemDirsAppend( SEARCH_STACK* aSearchStack )
|
|||
aSearchStack->Show( __func__ );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -53,24 +53,8 @@ if( MINGW )
|
|||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set( CVPCB_RESOURCES cvpcb.icns cvpcb_doc.icns )
|
||||
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/cvpcb.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/cvpcb_doc.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
|
||||
set( MACOSX_BUNDLE_ICON_FILE cvpcb.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.cvpcb )
|
||||
endif()
|
||||
|
||||
|
||||
if( USE_KIWAY_DLLS )
|
||||
add_executable( cvpcb WIN32 MACOSX_BUNDLE
|
||||
add_executable( cvpcb WIN32
|
||||
../common/single_top.cpp
|
||||
../common/pgm_base.cpp
|
||||
${CVPCB_RESOURCES}
|
||||
|
@ -156,16 +140,22 @@ if( USE_KIWAY_DLLS )
|
|||
add_dependencies( cvpcb cvpcb_kiface )
|
||||
|
||||
# these 2 binaries are a matched set, keep them together:
|
||||
install( TARGETS cvpcb
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts the *.kiface into the *.app bundle while linking
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( cvpcb PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set_target_properties( cvpcb_kiface PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cvpcb.app/Contents/MacOS/
|
||||
LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set( OSX_BUNDLE_PLUGINS ${OSX_BUNDLE_PLUGINS} "${OSX_BUNDLE_INSTALL_BIN_DIR}/_cvpcb.kiface"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
else()
|
||||
install( TARGETS cvpcb
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
install( TARGETS cvpcb_kiface
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
|
@ -174,7 +164,7 @@ if( USE_KIWAY_DLLS )
|
|||
|
||||
else()
|
||||
|
||||
add_executable( cvpcb WIN32 MACOSX_BUNDLE
|
||||
add_executable( cvpcb WIN32
|
||||
${CVPCB_SRCS}
|
||||
${CVPCB_DIALOGS}
|
||||
${CVPCB_RESOURCES}
|
||||
|
@ -214,15 +204,15 @@ else()
|
|||
# Must follow github_plugin
|
||||
target_link_libraries( cvpcb ${Boost_LIBRARIES} )
|
||||
|
||||
install( TARGETS cvpcb
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set_target_properties( cvpcb PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
)
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( cvpcb PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS cvpcb
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -187,22 +187,6 @@ if( MINGW )
|
|||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set( EESCHEMA_RESOURCES eeschema.icns eeschema_doc.icns )
|
||||
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/eeschema.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/eeschema_doc.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
|
||||
set( MACOSX_BUNDLE_ICON_FILE eeschema.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.eeschema )
|
||||
set( MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist )
|
||||
endif()
|
||||
|
||||
|
||||
# auto-generate cmp_library_lexer.h and cmp_library_keywords.cpp for the component
|
||||
# library format.
|
||||
make_lexer(
|
||||
|
@ -251,7 +235,7 @@ set_source_files_properties( dialogs/dialog_bom.cpp
|
|||
|
||||
|
||||
if( USE_KIWAY_DLLS )
|
||||
add_executable( eeschema WIN32 MACOSX_BUNDLE
|
||||
add_executable( eeschema WIN32
|
||||
../common/single_top.cpp
|
||||
../common/pgm_base.cpp
|
||||
${EESCHEMA_RESOURCES}
|
||||
|
@ -296,12 +280,6 @@ if( USE_KIWAY_DLLS )
|
|||
# if building eeschema, then also build eeschema_kiface if out of date.
|
||||
add_dependencies( eeschema eeschema_kiface )
|
||||
|
||||
if( APPLE )
|
||||
set_target_properties( eeschema PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
)
|
||||
endif()
|
||||
|
||||
if( MAKE_LINK_MAPS )
|
||||
# generate link map with cross reference
|
||||
set_target_properties( eeschema_kiface PROPERTIES
|
||||
|
@ -313,16 +291,22 @@ if( USE_KIWAY_DLLS )
|
|||
endif()
|
||||
|
||||
# these 2 binaries are a matched set, keep them together:
|
||||
install( TARGETS eeschema
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts the *.kiface into the *.app bundle while linking
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( eeschema PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set_target_properties( eeschema_kiface PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/eeschema.app/Contents/MacOS/
|
||||
LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set( OSX_BUNDLE_PLUGINS ${OSX_BUNDLE_PLUGINS} "${OSX_BUNDLE_INSTALL_BIN_DIR}/_eeschema.kiface"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
else()
|
||||
install( TARGETS eeschema
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
install( TARGETS eeschema_kiface
|
||||
# actual filename subject to change at milestone C)
|
||||
# modular-kicad blueprint.
|
||||
|
@ -332,7 +316,7 @@ if( USE_KIWAY_DLLS )
|
|||
endif()
|
||||
|
||||
else()
|
||||
add_executable( eeschema WIN32 MACOSX_BUNDLE
|
||||
add_executable( eeschema WIN32
|
||||
../common/single_top.cpp
|
||||
${EESCHEMA_SRCS}
|
||||
${EESCHEMA_COMMON_SRCS}
|
||||
|
@ -353,16 +337,17 @@ else()
|
|||
)
|
||||
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( eeschema PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS eeschema
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
|
||||
install( TARGETS eeschema
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
|
|
|
@ -79,22 +79,9 @@ if( MINGW )
|
|||
mingw_resource_compiler( gerbview )
|
||||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set( GERBVIEW_RESOURCES gerbview.icns gerbview_doc.icns )
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/gerbview.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/gerbview_doc.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set( MACOSX_BUNDLE_ICON_FILE gerbview.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.gerbview )
|
||||
endif()
|
||||
|
||||
if( USE_KIWAY_DLLS )
|
||||
|
||||
add_executable( gerbview WIN32 MACOSX_BUNDLE
|
||||
add_executable( gerbview WIN32
|
||||
../common/single_top.cpp
|
||||
../common/pgm_base.cpp
|
||||
${GERBVIEW_RESOURCES}
|
||||
|
@ -147,16 +134,22 @@ if( USE_KIWAY_DLLS )
|
|||
add_dependencies( gerbview gerbview_kiface )
|
||||
|
||||
# these 2 binaries are a matched set, keep them together
|
||||
install( TARGETS gerbview
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts the *.kiface into the *.app bundle while linking
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( gerbview PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set_target_properties( gerbview_kiface PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gerbview.app/Contents/MacOS/
|
||||
LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set( OSX_BUNDLE_PLUGINS ${OSX_BUNDLE_PLUGINS} "${OSX_BUNDLE_INSTALL_BIN_DIR}/_gerbview.kiface"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
else()
|
||||
install( TARGETS gerbview
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
install( TARGETS gerbview_kiface
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
|
@ -165,7 +158,7 @@ if( USE_KIWAY_DLLS )
|
|||
|
||||
else()
|
||||
|
||||
add_executable( gerbview WIN32 MACOSX_BUNDLE
|
||||
add_executable( gerbview WIN32
|
||||
gerbview.cpp
|
||||
${GERBVIEW_SRCS}
|
||||
${DIALOGS_SRCS}
|
||||
|
@ -180,14 +173,16 @@ else()
|
|||
${wxWidgets_LIBRARIES}
|
||||
${GDI_PLUS_LIBRARIES}
|
||||
)
|
||||
install( TARGETS gerbview
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( gerbview PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS gerbview
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
if( APPLE )
|
||||
set_target_properties( gerbview PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
||||
endif()
|
||||
|
|
|
@ -97,13 +97,14 @@ enum pseudokeys {
|
|||
#define PCB_CALCULATOR_EXE wxT( "pcb_calculator" )
|
||||
#define PL_EDITOR_EXE wxT( "pl_editor" )
|
||||
#else
|
||||
#define CVPCB_EXE wxT( "cvpcb.app/Contents/MacOS/cvpcb" )
|
||||
#define PCBNEW_EXE wxT( "pcbnew.app/Contents/MacOS/pcbnew" )
|
||||
#define EESCHEMA_EXE wxT( "eeschema.app/Contents/MacOS/eeschema" )
|
||||
#define GERBVIEW_EXE wxT( "gerbview.app/Contents/MacOS/gerbview" )
|
||||
#define BITMAPCONVERTER_EXE wxT( "bitmap2component.app/Contents/MacOS/bitmap2component" )
|
||||
#define PCB_CALCULATOR_EXE wxT( "pcb_calculator.app/Contents/MacOS/pcb_calculator" )
|
||||
#define PL_EDITOR_EXE wxT( "pl_editor.app/Contents/MacOS/pl_editor" )
|
||||
// All binaries are now in kicad.app bundle
|
||||
#define CVPCB_EXE wxT( "kicad.app/Contents/MacOS/cvpcb" )
|
||||
#define PCBNEW_EXE wxT( "kicad.app/Contents/MacOS/pcbnew" )
|
||||
#define EESCHEMA_EXE wxT( "kicad.app/Contents/MacOS/eeschema" )
|
||||
#define GERBVIEW_EXE wxT( "kicad.app/Contents/MacOS/gerbview" )
|
||||
#define BITMAPCONVERTER_EXE wxT( "kicad.app/Contents/MacOS/bitmap2component" )
|
||||
#define PCB_CALCULATOR_EXE wxT( "kicad.app/Contents/MacOS/pcb_calculator" )
|
||||
#define PL_EDITOR_EXE wxT( "kicad.app/Contents/MacOS/pl_editor" )
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -56,23 +56,6 @@ if( UNIX )
|
|||
)
|
||||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
# In this CMakeLists.txt's build directory, create kiface symlinks should get
|
||||
# "installed()" as part of the kicad.app bundle. These are pointers on the
|
||||
# target which point up and over to the stand alone kicad app's *.kiface files.
|
||||
foreach( symlink pcbnew eeschema cvpcb )
|
||||
add_custom_command( TARGET kicad
|
||||
COMMAND ${CMAKE_COMMAND} -E remove
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/kicad.app/Contents/MacOS/_${symlink}.kiface"
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
"../../../${symlink}.app/Contents/MacOS/_${symlink}.kiface"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/kicad.app/Contents/MacOS/_${symlink}.kiface"
|
||||
COMMENT "kicad.app ${symlink} symlink"
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if( APPLE )
|
||||
set_target_properties( kicad PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
|
@ -97,4 +80,13 @@ install( TARGETS kicad
|
|||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
|
||||
if( APPLE )
|
||||
install( CODE "
|
||||
include(BundleUtilities)
|
||||
fixup_bundle(\"${OSX_BUNDLE_INSTALL_BIN_DIR}/kicad\"
|
||||
\"${OSX_BUNDLE_PLUGINS}\"
|
||||
\"\"
|
||||
)
|
||||
" COMPONENT Runtime
|
||||
)
|
||||
endif()
|
||||
|
|
|
@ -7,31 +7,32 @@
|
|||
<dict>
|
||||
<key>CFBundleTypeRole</key> <string>Editor</string>
|
||||
<key>CFBundleTypeIconFile</key> <string>kicad_doc.icns</string>
|
||||
|
||||
<key>CFBundleTypeExtensions</key> <array>
|
||||
<string>pro</string>
|
||||
</array>
|
||||
|
||||
<key>CFBundleTypeName</key> <string>kicad project files</string>
|
||||
<key>LSHandlerRank</key> <string>Owner</string>
|
||||
</dict>
|
||||
</array>
|
||||
|
||||
<key>CFBundleDevelopmentRegion</key> <string>English</string>
|
||||
<key>CFBundleExecutable</key> <string>kicad</string>
|
||||
<key>CFBundleGetInfoString</key> <string></string>
|
||||
<key>CFBundleIconFile</key> <string>kicad.icns</string>
|
||||
<key>CFBundleIdentifier</key> <string>org.kicad-eda.kicad</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key> <string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key> <string></string>
|
||||
<key>CFBundleLongVersionString</key> <string></string>
|
||||
<key>CFBundleName</key> <string>KiCad</string>
|
||||
<key>CFBundlePackageType</key> <string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key> <string></string>
|
||||
<key>CFBundleSignature</key> <string>????</string>
|
||||
<key>CFBundleVersion</key> <string></string>
|
||||
<key>CSResourcesFileMapped</key> <true/>
|
||||
<key>CSResourcesFileMapped</key> <true/>
|
||||
<key>LSRequiresCarbon</key> <true/>
|
||||
<key>NSHumanReadableCopyright</key> <string></string>
|
||||
<key>NSHighResolutionCapable</key> <string>True</string>
|
||||
<key>LSEnvironment</key>
|
||||
<dict>
|
||||
<key>KIGITHUB</key> <string>https://github.com/kicad</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -53,23 +53,10 @@ if( MINGW )
|
|||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
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-eda.pl_editor )
|
||||
endif()
|
||||
|
||||
|
||||
if( USE_KIWAY_DLLS )
|
||||
|
||||
# a very small program launcher for pl_editor_kiface
|
||||
add_executable( pl_editor WIN32 MACOSX_BUNDLE
|
||||
add_executable( pl_editor WIN32
|
||||
../common/single_top.cpp
|
||||
../common/pgm_base.cpp
|
||||
${PL_EDITOR_RESOURCES}
|
||||
|
@ -122,16 +109,22 @@ if( USE_KIWAY_DLLS )
|
|||
add_dependencies( pl_editor pl_editor_kiface )
|
||||
|
||||
# these 2 binaries are a matched set, keep them together:
|
||||
install( TARGETS pl_editor
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts the *.kiface into the *.app bundle while linking
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( pl_editor PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set_target_properties( pl_editor_kiface PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/pl_editor.app/Contents/MacOS/
|
||||
LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set( OSX_BUNDLE_PLUGINS ${OSX_BUNDLE_PLUGINS} "${OSX_BUNDLE_INSTALL_BIN_DIR}/_pl_editor.kiface"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
else()
|
||||
install( TARGETS pl_editor
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
install( TARGETS pl_editor_kiface
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
|
@ -140,7 +133,7 @@ if( USE_KIWAY_DLLS )
|
|||
|
||||
else()
|
||||
|
||||
add_executable( pl_editor WIN32 MACOSX_BUNDLE
|
||||
add_executable( pl_editor WIN32
|
||||
pl_editor.cpp
|
||||
${PL_EDITOR_SRCS}
|
||||
${DIALOGS_SRCS}
|
||||
|
@ -155,15 +148,15 @@ else()
|
|||
${wxWidgets_LIBRARIES}
|
||||
${GDI_PLUS_LIBRARIES}
|
||||
)
|
||||
install( TARGETS pl_editor
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set_target_properties( pl_editor PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
)
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( pl_editor PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS pl_editor
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
Index: configure
|
||||
===================================================================
|
||||
--- configure (revision 77757)
|
||||
+++ configure (working copy)
|
||||
@@ -29176,7 +29176,7 @@
|
||||
*-*-darwin* )
|
||||
install_name_tool=`which ${HOST_PREFIX}install_name_tool`
|
||||
if test "$install_name_tool" -a -x "$install_name_tool"; then
|
||||
- DYLIB_RPATH_POSTLINK="${HOST_PREFIX}install_name_tool -id \$@ \$@"
|
||||
+ DYLIB_RPATH_POSTLINK=""
|
||||
cat <<EOF >change-install-names
|
||||
#!/bin/sh
|
||||
libnames=\`cd \${1} ; ls -1 | grep '\.[0-9][0-9]*\.dylib\$'\`
|
||||
@@ -29189,7 +29189,7 @@
|
||||
done
|
||||
EOF
|
||||
chmod +x change-install-names
|
||||
- DYLIB_RPATH_INSTALL="\$(wx_top_builddir)/change-install-names \${DESTDIR}\${libdir} \${DESTDIR}\${bindir} \${libdir} \$(wx_top_builddir)/lib"
|
||||
+ DYLIB_RPATH_INSTALL=""
|
||||
fi
|
||||
|
||||
HEADER_PAD_OPTION="-headerpad_max_install_names"
|
||||
Index: configure.in
|
||||
===================================================================
|
||||
--- configure.in (revision 77757)
|
||||
+++ configure.in (working copy)
|
||||
@@ -3772,7 +3772,7 @@
|
||||
*-*-darwin* )
|
||||
install_name_tool=`which ${HOST_PREFIX}install_name_tool`
|
||||
if test "$install_name_tool" -a -x "$install_name_tool"; then
|
||||
- DYLIB_RPATH_POSTLINK="${HOST_PREFIX}install_name_tool -id \$@ \$@"
|
||||
+ DYLIB_RPATH_POSTLINK=""
|
||||
cat <<EOF >change-install-names
|
||||
#!/bin/sh
|
||||
libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
|
||||
@@ -3785,7 +3785,7 @@
|
||||
done
|
||||
EOF
|
||||
chmod +x change-install-names
|
||||
- DYLIB_RPATH_INSTALL="\$(wx_top_builddir)/change-install-names \${DESTDIR}\${libdir} \${DESTDIR}\${bindir} \${libdir} \$(wx_top_builddir)/lib"
|
||||
+ DYLIB_RPATH_INSTALL=""
|
||||
fi
|
||||
|
||||
dnl the HEADER_PAD_OPTION is required by some wx samples to avoid the error:
|
|
@ -42,17 +42,6 @@ if( MINGW )
|
|||
mingw_resource_compiler(pcb_calculator)
|
||||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set( PCB_CALCULATOR_RESOURCES pcb_calculator.icns )
|
||||
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/pcb_calculator.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set( MACOSX_BUNDLE_ICON_FILE pcb_calculator.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.pcb_calculator )
|
||||
set( MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist )
|
||||
endif()
|
||||
|
||||
# auto-generate pcb_calculator_datafile.h and pcb_calculator_datafile_keywords.cpp
|
||||
# for the storage data file format.
|
||||
make_lexer(
|
||||
|
@ -69,7 +58,7 @@ make_lexer(
|
|||
if( USE_KIWAY_DLLS )
|
||||
#if( false )
|
||||
|
||||
add_executable( pcb_calculator WIN32 MACOSX_BUNDLE
|
||||
add_executable( pcb_calculator WIN32
|
||||
../common/single_top.cpp
|
||||
../common/pgm_base.cpp
|
||||
${PCB_CALCULATOR_RESOURCES}
|
||||
|
@ -118,16 +107,22 @@ if( USE_KIWAY_DLLS )
|
|||
add_dependencies( pcb_calculator pcb_calculator_kiface )
|
||||
|
||||
# these 2 binaries are a matched set, keep them together
|
||||
install( TARGETS pcb_calculator
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts the *.kiface into the *.app bundle while linking
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( pcb_calculator PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set_target_properties( pcb_calculator_kiface PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/pcb_calculator.app/Contents/MacOS/
|
||||
LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set( OSX_BUNDLE_PLUGINS ${OSX_BUNDLE_PLUGINS} "${OSX_BUNDLE_INSTALL_BIN_DIR}/_pcb_calculator.kiface"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
else()
|
||||
install( TARGETS pcb_calculator
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
install( TARGETS pcb_calculator_kiface
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
|
@ -136,7 +131,7 @@ if( USE_KIWAY_DLLS )
|
|||
|
||||
else()
|
||||
|
||||
add_executable( pcb_calculator WIN32 MACOSX_BUNDLE
|
||||
add_executable( pcb_calculator WIN32
|
||||
../common/single_top.cpp
|
||||
pcb_calculator.cpp
|
||||
${PCB_CALCULATOR_SRCS}
|
||||
|
@ -154,16 +149,16 @@ else()
|
|||
polygon
|
||||
${wxWidgets_LIBRARIES}
|
||||
)
|
||||
install( TARGETS pcb_calculator
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( pcb_calculator PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS pcb_calculator
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set_target_properties( pcb_calculator PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
)
|
||||
endif()
|
||||
|
|
|
@ -472,19 +472,6 @@ if( MINGW )
|
|||
mingw_resource_compiler( pcbnew )
|
||||
endif()
|
||||
|
||||
if( APPLE )
|
||||
set( PCBNEW_RESOURCES pcbnew.icns pcbnew_doc.icns )
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pcbnew.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pcbnew_doc.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set( MACOSX_BUNDLE_ICON_FILE pcbnew.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.pcbnew )
|
||||
set( MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist )
|
||||
endif()
|
||||
|
||||
# Create a C++ compilable string initializer containing html text into a *.h file:
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_freeroute_exchange_help_html.h
|
||||
|
@ -525,7 +512,7 @@ if( USE_KIWAY_DLLS )
|
|||
#if( false )
|
||||
|
||||
# a very small program launcher for pcbnew_kiface
|
||||
add_executable( pcbnew WIN32 MACOSX_BUNDLE
|
||||
add_executable( pcbnew WIN32
|
||||
../common/single_top.cpp
|
||||
${PCBNEW_RESOURCES}
|
||||
)
|
||||
|
@ -604,16 +591,22 @@ if( USE_KIWAY_DLLS )
|
|||
add_dependencies( pcbnew pcbnew_kiface )
|
||||
|
||||
# these 2 binaries are a matched set, keep them together:
|
||||
install( TARGETS pcbnew
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts the *.kiface into the *.app bundle while linking
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( pcbnew PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set_target_properties( pcbnew_kiface PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/pcbnew.app/Contents/MacOS/
|
||||
LIBRARY_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
set( OSX_BUNDLE_PLUGINS ${OSX_BUNDLE_PLUGINS} "${OSX_BUNDLE_INSTALL_BIN_DIR}/_pcbnew.kiface"
|
||||
PARENT_SCOPE
|
||||
)
|
||||
else()
|
||||
install( TARGETS pcbnew
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
install( TARGETS pcbnew_kiface
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
|
@ -622,7 +615,7 @@ if( USE_KIWAY_DLLS )
|
|||
|
||||
else() # milestone A) kills this off:
|
||||
|
||||
add_executable( pcbnew WIN32 MACOSX_BUNDLE
|
||||
add_executable( pcbnew WIN32
|
||||
../common/single_top.cpp
|
||||
pcbnew.cpp
|
||||
${PCBNEW_SRCS}
|
||||
|
@ -675,19 +668,21 @@ else() # milestone A) kills this off:
|
|||
)
|
||||
endif()
|
||||
|
||||
install( TARGETS pcbnew
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( pcbnew PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS pcbnew
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
add_dependencies( pcbnew lib-dependencies )
|
||||
if( APPLE )
|
||||
set_target_properties( pcbnew PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
if( KICAD_SCRIPTING )
|
||||
|
@ -781,4 +776,3 @@ if( false ) # haven't been used in years.
|
|||
)
|
||||
target_link_libraries( layer_widget_test common ${wxWidgets_LIBRARIES} )
|
||||
endif()
|
||||
|
||||
|
|
|
@ -20,6 +20,13 @@ target_link_libraries( dxf2idf lib_dxf idf3 ${wxWidgets_LIBRARIES} )
|
|||
|
||||
target_link_libraries( idf2vrml idf3 ${OPENGL_LIBRARIES} ${wxWidgets_LIBRARIES} )
|
||||
|
||||
install( TARGETS idfcyl idfrect dxf2idf idf2vrml
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary )
|
||||
if( APPLE )
|
||||
# puts binaries into the *.app bundle while linking
|
||||
set_target_properties( idfcyl idfrect dxf2idf idf2vrml PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OSX_BUNDLE_BUILD_BIN_DIR}
|
||||
)
|
||||
else()
|
||||
install( TARGETS idfcyl idfrect dxf2idf idf2vrml
|
||||
DESTINATION ${KICAD_BIN}
|
||||
COMPONENT binary )
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue