Commit 7edce2fa authored by Garth Corral's avatar Garth Corral
Browse files

Merge trunk @ 5266

parents a0e0958c 1aec1f59
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -273,20 +273,15 @@ if( USE_OSX_MAGNIFY_EVENT )
endif()


# Allow user to override the default settings for adding images to menu items.  By default
# images in menu items are enabled on all platforms except OSX.  This can be over ridden by
# defining -DUSE_IMAGES_IN_MENUS=ON/OFF to force the preferred behavior.
if( NOT DEFINED USE_IMAGES_IN_MENUS )
# By default images in menu items are enabled on all platforms except OSX.
if( NOT APPLE )
        set( USE_IMAGES_IN_MENUS ON )
    endif()
    set( USE_IMAGES_IN_MENUS ON CACHE BOOL "Enable images in menus" )
else()
    if( USE_IMAGES_IN_MENUS )
        set( USE_IMAGES_IN_MENUS ON )
    endif()
    set( USE_IMAGES_IN_MENUS OFF CACHE BOOL "Enable images in menus" )
endif()



# KIFACE_SUFFIX is the file extension used for top level program modules which
# implement the KIFACE interface.  A valid suffix starts with a period '.'.

+2 −2
Original line number Diff line number Diff line
@@ -130,10 +130,10 @@ In order to have a working Kicad installtion, you need
- documentation and translations (they are not included in sources)

product branch:
bzr branch lp:kicad kicad_src
bzr branch https://code.launchpad.net/~kicad-product-committers/kicad kicad_src

Stable branch:
bzr branch lp:kicad/stable kicad_src
bzr branch https://code.launchpad.net/~kicad-product-committers/kicad/stable kicad_src

Components and Footprints libraries
all (schematic libs, 3D shapes ...) but new footprints libraries (use Download zip tool)
+3 −41
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ boost libraries will be downloaded the first time you build Kicad.
CMake
=====

KiCad uses CMake to generate the build files specific for the target platform
KiCad uses CMake (version 2.12 or later) to generate the build files specific for the target platform
specified by the developer.  This document attempts to define some of the more
common CMake and KiCad build configuration settings.  You can use CMake either
by the command CMake on or the graphical version ccmake.  This document only
@@ -78,24 +78,6 @@ the wxWidgets library. If you wish to use a custom built wxWidgets library,
set wxWidgets_ROOT_DIR to the correct path.


wxWidgets_USE_DEBUG (ON/OFF)
----------------------------
Default: OFF

When creating a debug build of KiCad, it is often useful to link against the
debug build of the wxWidgets.  To use the debug build of wxWidgets, set
wxWidgets_USE_DEBUG to ON.


wxWidgets_USE_UNICODE (ON/OFF)
------------------------------
Default: ON (wxWidgets 2.9 or later), OFF (older versions)

If your platform supports Unicode and you wish to build KiCad with Unicode
support, set wxWidgets_USE_UNICODE to ON.  Please note as of the 2.9 branch
this option is not required.


KiCad Specific Options
======================

@@ -114,17 +96,6 @@ WARNING: The KiCad developers strongly advise you to build the bundled copy of
the Boost library, as it is known to work with KiCad. Other versions may
contain bugs that may result in KiCad errors.


USE_WX_GRAPHICS_CONTEXT (ON/OFF)
--------------------------------
Default: OFF

This option is *Experimental*. It enables advanced drawing library code using
wxGraphicsContext and should only be used for testing purposes.  Under Windows,
a very recent version of mingw is needed.  It also requires wxWidgets to be
built with the --enable-graphics_ctx configuration switch.


USE_IMAGES_IN_MENUS (ON/OFF)
----------------------------
Default: OFF for OSX, ON for other platforms.
@@ -147,20 +118,11 @@ to avoid download and building the dependencies multiple times.

KICAD_USER_CONFIG_DIR (PATH)
----------------------------
Default: Home directory (Unix-based systems), Application data directory (Windows)
Default: ~/.config (Unix-based systems), Application data directory (Windows)

This option specifies where to store user-specific configuration information.


KICAD_KEEPCASE (ON/OFF)
-----------------------
Default: ON

If this is OFF, component names are automatically converted to uppercase meaning
they are case insensitive. If it is ON, component names are not changed and
are therefore case sensitive.


USE_WX_OVERLAY (ON/OFF)
-----------------------
Default: ON for OSX, OFF for other platforms.
@@ -192,7 +154,7 @@ KICAD_SCRIPTING_WXPYTHON (ON/OFF)
Default: OFF

This option enables or disables building wxPython support into the KiCad
scripting support.  Currently only Pcbnew is supported.  This option requires
scripting support.  Currently only Pcbnew has scripting support.  This option requires
SWIG, Python, and wxPython to be installed on the system.


+12 −9
Original line number Diff line number Diff line
@@ -103,16 +103,16 @@ install the wxWidgets library into MinGW then enter the following commands:

#mkdir Release
#cd Release
#../configure --with-opengl
#../configure --enable-monolithic=no --enable-shared=yes --with-opengl
#make

If you want to install wxWidgets in MinGW then enter the following commands:
#mkdir Release
#cd Release
#../configure --prefix=/mingw --enable-monolithic=no --disable-shared --with-opengl
#../configure --prefix=/mingw --enable-monolithic=no --enable-shared=yes --with-opengl
#make && make install

wxWidgets will be statically linked to Kicad, which avoid issus with wxWidgets dlls
wxWidgets cannot be statically linked to Kicad.

Download the KiCad Source Code
------------------------------
@@ -126,16 +126,19 @@ Launchpad repository has two branches for KiCad sources:
  near a stable state)

To download the testing branch:
#bzr branch lp:kicad kicad_testing
#bzr branch https://code.launchpad.net/~kicad-product-committers/kicad kicad_testing

To download the stable branch:
#bzr branch lp:kicad/stable kicad_stable
#bzr branch https://code.launchpad.net/~kicad-product-committers/kicad/stable kicad_stable

To download the component and footprint libraries
#bzr branch lp:~kicad-lib-committers/kicad/library kicad_libraries
To download the component and footprint libraries:
(This branch is a bzr/launchpad import of the Git repository
at https://github.com/KiCad/kicad-library.git.
It has schematic parts and 3D models in it.)
#bzr branch https://code.launchpad.net/~kicad-product-committers/kicad/library kicad_libraries

To download the documentation and translation files:
#bzr branch lp:~kicad-developers/kicad/doc kicad_doc
#bzr branch https://code.launchpad.net/~kicad-developers/kicad/doc kicad_doc

Create Makefiles with CMake
---------------------------
@@ -219,7 +222,7 @@ Building the Developer Documentation
------------------------------------
To build the HTML developer documentation, run the following commands:

#cd <kicadSource>/build/debug
#cd <kicadSource>/build/release
#make doxygen-docs

The documentation will be created in the <kicadSouce>/Documentation/html
+35 −2
Original line number Diff line number Diff line
@@ -50,13 +50,15 @@
#define KEYWORD_LAST_INPUT_FILE     wxT( "Last_input" )
#define KEYWORD_LAST_OUTPUT_FILE    wxT( "Last_output" )
#define KEYWORD_LAST_FORMAT         wxT( "Last_format" )
#define KEYWORD_LAST_MODLAYER       wxT( "Last_modlayer" )
#define KEYWORD_BINARY_THRESHOLD    wxT( "Threshold" )
#define KEYWORD_BW_NEGATIVE         wxT( "Negative_choice" )

#define DEFAULT_DPI 300     // Default resolution in Bit per inches

extern int bitmap2component( potrace_bitmap_t* aPotrace_bitmap, FILE* aOutfile,
                             OUTPUT_FMT_ID aFormat, int aDpi_X, int aDpi_Y );
                             OUTPUT_FMT_ID aFormat, int aDpi_X, int aDpi_Y,
                             BMP2CMP_MOD_LAYER aModLayer );

/**
 * Class BM2CMP_FRAME_BASE
@@ -138,6 +140,7 @@ private:
    void NegateGreyscaleImage( );
    void ExportFile( FILE* aOutfile, OUTPUT_FMT_ID aFormat );
    void updateImageInfo();
    void OnFormatChange( wxCommandEvent& event );
};


@@ -169,6 +172,19 @@ BM2CMP_FRAME::BM2CMP_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
        m_radioBoxFormat->SetSelection( tmp );
    }

    if( tmp == PCBNEW_KICAD_MOD )
        m_radio_PCBLayer->Enable( true );
    else
        m_radio_PCBLayer->Enable( false );

    if( m_config->Read( KEYWORD_LAST_MODLAYER, &tmp ) )
    {
        if( (unsigned) tmp > MOD_LYR_FINAL )    // Out of range
            m_radio_PCBLayer->SetSelection( MOD_LYR_FSILKS );
        else
            m_radio_PCBLayer->SetSelection( tmp );
    }

    // Give an icon
    wxIcon icon;
    icon.CopyFromBitmap( KiBitmap( icon_bitmap2component_xpm ) );
@@ -204,6 +220,7 @@ BM2CMP_FRAME::~BM2CMP_FRAME()
    m_config->Write( KEYWORD_BINARY_THRESHOLD, m_sliderThreshold->GetValue() );
    m_config->Write( KEYWORD_BW_NEGATIVE, m_rbOptions->GetSelection() );
    m_config->Write( KEYWORD_LAST_FORMAT,  m_radioBoxFormat->GetSelection() );
    m_config->Write( KEYWORD_LAST_MODLAYER,  m_radio_PCBLayer->GetSelection() );

    delete m_config;

@@ -628,7 +645,14 @@ void BM2CMP_FRAME::ExportFile( FILE* aOutfile, OUTPUT_FMT_ID aFormat )
        }
    }

    bitmap2component( potrace_bitmap, aOutfile, aFormat, m_imageDPI.x, m_imageDPI.y );
    // choices of m_radio_PCBLayer are expected to be in same order as
    // BMP2CMP_MOD_LAYER. See bitmap2component.h
    BMP2CMP_MOD_LAYER modLayer = MOD_LYR_FSILKS;

    if( aFormat == PCBNEW_KICAD_MOD )
        modLayer = (BMP2CMP_MOD_LAYER) m_radio_PCBLayer->GetSelection();

    bitmap2component( potrace_bitmap, aOutfile, aFormat, m_imageDPI.x, m_imageDPI.y, modLayer );
}


@@ -711,3 +735,12 @@ bool IFACE::OnKifaceStart( PGM_BASE* aProgram, int aCtlBits )
    return start_common( aCtlBits );
}

void BM2CMP_FRAME::OnFormatChange( wxCommandEvent& event )
{
    if( m_radioBoxFormat->GetSelection() == PCBNEW_KICAD_MOD )
        m_radio_PCBLayer->Enable( true );
    else
        m_radio_PCBLayer->Enable( false );

    event.Skip();
}
Loading