Commit Graph

90 Commits

Author SHA1 Message Date
Maciej Suminski 8e472c736a Merged upstream. 2013-09-20 17:54:35 +02:00
Wayne Stambaugh 9ab7c18f46 Footprint library table ground work.
* Remove defined CMAKE_INSTALL_PREFIX for Windows from main CMakeList.txt.
* Move footprint library path detection code from pcbnew.cpp to EDA_APP
  object.
* Add CMAKE_INSTALL_PREFIX to config.h.cmake.
* Simplify and fix search path list code.
* Add CMAKE_INSTALL_PREFIX to the list of search paths in case KiCad was
  installed using `make install`.
* Add default global footprint library table to CMake install.
* Add method to set footprint library table to PCB_BASE_FRAME object.
* Remove unused function EDA_APP::GetLibraryFile().
* Minor FP_LIB_TABLE object improvements.
2013-09-06 08:17:33 -04:00
Maciej Suminski 32e962e8ee Merged upstream and Mac OS X build fixes. 2013-08-27 11:03:06 +02:00
Maciej Suminski a7e963bd6f Fixed GLEW library detection for Mac OS X. 2013-08-27 10:32:39 +02:00
Dick Hollenbeck a7e32b03b9 switch to newer boost version. 2013-08-26 15:19:04 -05:00
Dick Hollenbeck 0be3992913 Lay basis for a more full featured usage of boost, including compiled libraries such as unit_test_framework, system, etc. Move headers now into boost_root/include/boost/. 2013-08-20 13:03:21 -05:00
Carl Poirier 3f8343b341 REMOVE: USE_PCBNEW_NANOMETERS by making it the only way to go in pcbnew, effectively removing the deci-mils build. 2013-08-06 18:21:40 -05:00
Maciej Suminski d15f0e91e2 Upstream merge. 2013-08-05 14:46:05 +02:00
Brian Sidebotham c99243ffc5 * Added modified CMake FindPython... modules to support using Python-a-mingw-us distribution when building Windows scripting support using MinGW 2013-08-04 21:31:14 +01:00
Maciej Suminski 67c0cd2205 Header containing GLSL source code is generated only after change of any of shader source files. 2013-07-24 14:22:00 +02:00
Maciej Sumiński 92ccc2018e Headers containing shader program sources are generated using CMake. 2013-07-17 23:55:59 +02:00
Maciej Suminski 36f1147da1 Upstream merge. 2013-07-08 15:05:12 +02:00
jean-pierre charras 26b7bdc35c Eeschema: add dialog and utilities to create BOMs from generic netlist 2013-06-14 16:59:52 +02:00
Dick Hollenbeck 64f8e0b8e1 various 2013-06-13 06:43:29 -05:00
Maciej Suminski e9ebdf2583 Upstream merge. 2013-06-05 10:01:53 +02:00
Dick Hollenbeck f280c7374c include only the boost headers in the scratch repo 2013-05-31 23:04:56 -05:00
Dick Hollenbeck 70b8e6b6e2 add copyright message to download_boost.cmake 2013-05-31 16:26:08 -05:00
Dick Hollenbeck 2fc698846b *) Refinements to ExternalProject_Add( boost )
*) Enhancements to make_lexer().
*) Support multi-threaded build.
*) Switch to "bzr patch" from patch.exe for Windows users.
2013-05-31 16:22:34 -05:00
Dick Hollenbeck 96f8f6066d remove boost and make it an external project, so the procedure for upgrading is better documented 2013-05-30 23:46:02 -05:00
Dick Hollenbeck 8ccf0320b4 1) Add "rules" to base of tree for copying into BZR_HOME/rules.
File "rules" has instructional text as comments near top.

2) Convert all text files in repo to LF line ending form.
   Any checkout done with "rules" in play will convert the working
   tree to native line ending, while keeping repo as LF line ending.
2013-05-25 23:36:44 -05:00
Maciej Suminski ccc0fb06c9 Added missing CMakeModules (Cairo & GLEW). 2013-04-04 11:52:16 +02:00
Wayne Stambaugh facde96ec2 Add build option to use footprint library table. 2013-02-23 14:30:43 -05:00
Wayne Stambaugh 8289899df8 Add CheckCXXSymbolExists.cmake to fix configure bug using CMake versions prior to 2.8.6. (fixes lp:1124854) 2013-02-14 13:39:36 -05:00
Wayne Stambaugh 4d465ec8a0 Configuration and compile documentation improvements.
* Improve the stable and testing build version option logic.
* Use CMake FindPythonInterp to configure the Python interpreter.
* Use Python interpreter to determine the system Python module install
  path if not already defined on the command line.
* Add header symbol checks for asinh(), acosh(), and atanh().
* Add test source to check for isinf() which can be defined as a C++template.
* Replace conditional compile on windows systems for aXXXh() with CMake
  configuration tests.
* A few minor MSVC compile fixes.
* Fix incorrect python environment string in fixswigimports.py
* Create a separate document for KiCad CMake build options.
* Create a separate how to compile KiCad on Windows document.
2013-02-10 19:41:49 -05:00
Dick Hollenbeck 2aa27122b0 Eliminate many assumptions in Pcbnew's library manager, pertaining to locality of libraries and
their type, by using the more abstract PLUGIN::Footprint*() functions.

This is an intermediate phase only, other changes will be necessary as library table support comes in.
Encapsulate usage of library path searching, since that will go away as library table support comes in.
Add FOOTPRINT_EDIT_FRAME::{get,set}LibPath() and FOOTPRINT_EDIT_FRAME::{get,set}LibNickName() functions
to provide this encapsulation.
2012-11-19 10:19:38 -06:00
Dick Hollenbeck 4612ef9d50 switch to new s-expression format for footprint exports, use english layernames for naked footprints, dodge conflict with pythons HAVE_GETC_UNLOCKED 2012-11-10 00:39:18 -06:00
Wayne Stambaugh c11f3407b8 Check for getc_unlocked() and fall back to getc() in richio if it's not available. 2012-10-09 10:31:36 -04:00
Wayne Stambaugh 1468a4ae31 Pcbnew s-experssion footprint library implementation.
* Add footprint methods to PCB_IO.
* Add FP_CACHE and FP_CACHE_ITEM for handling new footprint library design.
* Add code to save legacy libraries in new format.
* Change behavior of BOARD_ITEM::GetLayerName() to return the default layer
  name when the item does not have a BOARD as a parent.
* Minor changes to the module output formatter when writing to module library
  files (no BOARD as parent).
* Add new (and some that I forgot along the way) CMake flags to
  EDA_BASE_FRAME::CopyVersionInfoToClipboard().
* Add -Wno-narrowing to GCC flags to stop GCC 4.7 from complaining about
  a conversion from int to unsigned in the Boost polygon library.
* Add INPUT_STREAM_READER to richio.cpp to allow using any object derived
  from wxInputStream as a LINE_READER (needs to be validated).
2012-10-07 11:37:25 -04:00
Dick Hollenbeck 3341669fc6 more footprint support for LEGACY_PLUGIN 2012-04-16 20:35:43 -05:00
Wayne Stambaugh 9c16a218c0 Pcbnew s-expression file format changes.
* Save dialog now supports saving boards to new file format.
* Add CMake option to build s-expression file save.
* Add check to main CMakeList.txt file to make sure nanometers are
  enables when the new file format is built.
* Minor tweaks to object format functions for improved output.
* Rename kicad_plugin.h/cpp to legacy_plugin.h/cpp.
2012-04-07 14:05:56 -04:00
jean-pierre charras d739f03c5f Remove old xpm icons files 2012-04-07 13:09:57 +02:00
Wayne Stambaugh d7feb9ab45 Initial Pcbnew s-expression file format commit.
* Add s-expression Format() function to all objects derived from
  BOARD_ITEM.
* Add s-expression Format() function to base objects as required.
* Add functions to convert coordinates from base internal units
  (nanometers) to millimeter string for writing to s-expression
  file.
* Add temporary dummy conversion functions to prevent link errors
  until schematic and board object and action code can be separated
  into DSO/DLL.
* Add CMake build option to build Pcbnew with nanometer internal
  units.
2012-04-01 16:51:56 -04:00
Dick Hollenbeck b8a0ab4c52 switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths 2012-01-22 22:33:36 -06:00
Dick Hollenbeck 3421863c01 add GetRunningMicroSecs() to libcommon for debug timing 2012-01-13 03:46:02 -06:00
Dick Hollenbeck a9e2399669 legacy pcbnew plugin touch ups 2011-12-14 20:24:52 -06:00
Dick Hollenbeck c4979318d2 more plugin work 2011-12-06 23:28:49 -06:00
jean-pierre charras 64e1b72bf5 Try to use bzr rules to commit files with LF only in .cpp and .h files. Should change CRLF to LF in all bitmaps .cpp files.
In BITMAP_OPAQUE, use unsigned char instead of char for png member to remove warnings with some compilers.
2011-09-18 17:51:13 +02:00
Roman Bashkov c5e1c249bb pcbnew:
* Add hotkey fast switch to two grids: for place and trace
	Alt+"1" - switch grid for place module
	Alt+"2" - switch grid for trace
  This two grid set in dialog - menu Preferences->Dimensions->Grid.
* Add hotkey switch grid:
	"`" - switch to next grid
	Ctrl+"`" - switch to previous grid
* Add hotkey switch track width:
	"W" - switch to next track width
	Ctrl+"W" - switch to previous track width
cmakemodules:
* Add GOST to KICAD_BUILD_VERSION if define KICAD_GOST.
2011-09-09 15:02:03 +04:00
Dick Hollenbeck 50dbd5b762 merge from testing 2011-09-08 01:20:13 -05:00
Dick Hollenbeck 07ab5534e5 PNG bitmap support, initial implementation 2011-09-08 00:58:45 -05:00
jean-pierre charras c7dee03967 Remove minizip from kicad sources. Useless because now (and since a long time) wxWidgets supports full zip file read/write, and minizip build creates problems under Windows, due to zlib not always installed. 2011-09-07 20:41:35 +02:00
Dick Hollenbeck 56f5295527 more KiBitmap() stuff 2011-08-29 16:42:11 -05:00
Wayne Stambaugh c5c98f9518 Add CMake code to enable or disable using images in menu items.
* Add USE_IMAGES_IN_MENUS definition to override the default platform
  behavior for adding images to menu items.
* Update COMPILING.txt to document how to use USE_IMAGES_IN_MENUS.
* Fix Windows segfault when creating language selection submenu introduced
  by new bitmap code in r3087.
* Changed per email from JP from CVPcb to CvPcb because I'm getting old and
  blind and misread the email.
* Lot's of Doxygen comment and coding style policy fixes.
2011-08-29 15:50:05 -04:00
Dick Hollenbeck f577f18bf7 add a CMAKE script which converts a *.png file into a *.cpp file 2011-08-24 01:18:36 -05:00
Wayne Stambaugh e764474f9d CMake and other minor improvements.
* Merged CMake 2.8.4 version of FindwxWidgets.cmake with local copy.
* Merged CMake 2.8.4 version of UsewxWidgets.cmake with local copy.
* Bump required version of CMake to 2.8.0.
* Delete commented out include from eeschema/protos.h that I forgot on my
  last commit.
2011-04-06 09:44:38 -04:00
Dick Hollenbeck 2cda6f4b4f early work on DLL exports for sweet lib, stop using <cstdio> which mingw seems not to like cuz snprintf() 2011-02-03 20:40:47 -06:00
Wayne Stambaugh d657b43052 Use wxDC for all coordinate manipulations.
* Remove all occurrences if #ifdef USE_WX_ZOOM and all associated code within
  the #else/#endif block ( old zoom code ).
* Removed the build option for USE_WX_ZOOM from CMakeList.txt and config.h.in.
* Removed all scaling code in base screen object.
* Fixed buffered paint and buffered client DC on Windows.  Buffering works
  properly on Linux and Windows.
* Modified kicad_device_context.h to automatically uses buffering on platforms
  where double buffering is supported natively.
* Remove all of the scaled versions of the drawing functions in gr_basic.cpp
  and any support code.
* Removed all traces of ActiveScreen global variable from eeschema and
  gerbview.
* Renamed Recadre_Trace to RedrawScreen in draw frame object.
* Renamed PostDirtyRect to RefreshDrawingRect in draw panel object.
* Lots of code cleaning an Doxygen comment improvements.
2011-01-30 17:22:38 -05:00
Dick Hollenbeck 6be7640c41 fix minor /new compile error, swig warnings 2011-01-21 01:21:19 -06:00
Dick Hollenbeck ed8c021f63 ++all:
* TokenList2DsnLexer.cmake now supports comments, which start with a leading
    # character, and may be either on their own line or on a line after a token.
  * DSNLEXER::PopReader() now pops even the last LINE_READER* and returns it.
++pcbnew:
  * SPECCTRA_DB now inherits from new class SPECCTRA_LEXER, which led to a great
    deal of simplification and code factoring.
  * Moved specctra keywords into specctra.keywords.
2011-01-19 14:46:07 -06:00
Dick Hollenbeck 2f211c6b9d ++all:
* TokenList2DsnLexer.cmake now wraps each token enum in its own namespace. It
    also no longer setup of the "using" directive in the header file, which was
    bad behavior.  C++ enum values will have name collisions unless the enums
    themselves are different namespaces.
++new:
  * Sweet library is now a DSO/DLL.
  * Brought in SWIG to do a wrap of the Sweet DSO/DLL for unit testing
    and scripting.  The SWIG DSO/DLLs are built separate from the Sweet DSO/DLL
    and are also optional.
2011-01-17 11:26:19 -06:00