Commit Graph

253 Commits

Author SHA1 Message Date
Kristoffer Ödmark 8590a22995 Cpp11 compability steps.
-Changed coding style to not have exception specifications.
-Changed autogenerated Lexer code to not have exception specifications.
2017-06-12 11:47:20 -04:00
Jan Mrázek ade263f30d Check required libraries in FindwxWidgets.cmake
Both official one and KiCad one version of FindwxWidgets.cmake do not check if
all the required components are part of the wxWidgets build. This couses trouble
on Ubuntu when user misses libwxgtk3.0-dev package - CMake succeeds, build does
not.

This fix was accepted also to the CMake 3.9 upstream
(https://gitlab.kitware.com/cmake/cmake/merge_requests/704).

Fixes: lp:1630020
* https://bugs.launchpad.net/kicad/+bug/1630020
2017-04-26 20:43:29 -04:00
Maciej Suminski 24a9003b5e Removed obsolete Shader.cmake script
Better way of including shader programs was introduced in 77f9cd0c
2017-03-04 11:48:37 +01:00
Simon Richter 78a5f450ce Copy and adapt FindCairo.cmake for Pixman 2017-02-01 19:22:47 -05:00
Tomasz Włostowski 90a39582b5 added missing FindPixman script 2016-12-12 16:45:52 +01:00
Wayne Stambaugh fd54d394bd Version string improvements.
Define empty string variable KICAD_BRANCH_NAME that can be used as an
optional version string element.  When git is used to build the version
string, this variable is set to the git branch name.  It can also be
defined at configuration time as an optional string appended to the
$KICAD_VERSION variable.

Define empty string variable KICAD_VERSION_EXTRA that can be set by
the user at configuration.

The variables KICAD_BRANCH_NAME and KICAD_VERSION_EXTRA are only
appended to KICAD_VERSION if they are set.  Otherwise, only KICAD_VERSION
is uses as the version string.

Update the developer building from source document to reflect the changes.
2016-11-25 09:09:10 -05:00
Chris Pavlina b9c62b658e Bring back KICAD_REPO_NAME 2016-11-12 16:16:35 -05:00
Chris Pavlina 7e3c0258aa Fix KICAD_BUILD_VERSION build option 2016-11-12 15:37:01 -05:00
Wayne Stambaugh 87eda6180d Allow the contents of KiCadVersion.cmake to override git version.
When the version string in KiCadVersion.cmake is set to something other
than the default "no-vcs-found", it ignores the git version even if a
.git folder exists in the source folder.
2016-10-14 09:43:38 -04:00
Wayne Stambaugh 03da56a9b5 Minor version string generation improvements.
Remove the KICAD_REPO_NAME option from the main cmake file and the
generated config.h file since it is no longer used.

Set the default branch name to "undefined" in CreateGitVersionHeader.cmake
instead of the KICAD_REPO_NAME option.

Remove generating KICAD_FULL_VERSION from CreateGitVersionHeader.cmake
and add it to WriteVersionHeader.cmake so that the default settings and
the new KiCadVersion.cmake definitions can be used to generate the full
version string as well.

Check to see if the branch name is set and only use the version to
generate the full version string.  This allows the use of the KiCad
version cmake file to create a version only string like "4.0.4" with
no trailing branch name.

Change build_version.cpp to use the full version string rather than
concatenating the version and branch strings.
2016-10-12 20:29:46 -04:00
Wayne Stambaugh b54166daa3 Improve version string generation for stable release source archives.
Add KiCadVersion.cmake to set the build version and branch name.

Update WriteVersionHeader.cmake to include KiCadVersion.cmake to set
the defaults in case no .git directory is found.
2016-10-12 16:24:14 -04:00
Chris Pavlina 245607d05c Fix version header rewrite (happened too often)
This commit also simplifies the rewrite logic slightly, removing the
regex parsing.

Bug introduced in:

    commit 47772e7ae3
    Author: Chris Pavlina <pavlina.chris@gmail.com>
    Date:   Sun Sep 25 10:28:50 2016 -0400

        cmake: rewrite version header when branch changes

        Before, only KICAD_BUILD_VERSION, which includes the hash but not the
        branch, was compared when deciding whether to regenerate
        kicad_build_version.h. This header also contains the branch name though,
        so we should compare both to address the case of two branches pointing
        at the same commit.
2016-09-27 11:40:12 -04:00
Chris Pavlina 47772e7ae3 cmake: rewrite version header when branch changes
Before, only KICAD_BUILD_VERSION, which includes the hash but not the
branch, was compared when deciding whether to regenerate
kicad_build_version.h. This header also contains the branch name though,
so we should compare both to address the case of two branches pointing
at the same commit.
2016-09-25 10:31:30 -04:00
Dick Hollenbeck 7311f07eaf SWIG Improvements
*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
   for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
   common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
   libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
   which is to be applied to any function which needs C++ to python
   exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
   in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
   which rebuilds the swig generated *.cxx file when one of its dependencies
   change.
*) Re-architect the board.i file so that it can be split into multiple *.i
   files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
   phase III.
2016-09-20 11:59:43 -04:00
Nick Østergaard 881ebe59c5 Remove now obsolete bzr check 2016-09-15 08:33:17 -04:00
Wayne Stambaugh e7e165d68a Remove unused Bazaar and Subversion cmake files. 2016-09-14 19:45:32 -04:00
Chris Pavlina 7318238daa Update version string formatting after git migration
It is no longer necessary (or sensible) to include a simulated bzr
revision number, and we can reliably get a branch name now. Therefore,
the new version strings look like:

(2016-08-26 revision 67230ac)-master
 |                   |        |
 |                   |        branch name, "HEAD" if not on a branch,
 |                   |          or "unknown" if no .git present
 |                   |
 |                   abbreviated commit hash, or no-git if no .git
 |                     present
 |
 date of commit, or date of build if no .git present

Signed-off-by: Chris Pavlina <pavlina.chris@gmail.com>
2016-09-09 20:19:54 -04:00
Maciej Suminski 30e3097484 Findngspice.cmake: Refined build instructions 2016-08-22 16:08:45 +02:00
Maciej Suminski cf537023c9 Findngspice: add a message explaining the current libngspice status 2016-08-22 14:39:35 +02:00
Simon Richter bfb6e0bbb2 Convert remaining occurences of stri[n]cmp to str[n]casecmp.
This also reverses the substitution logic if strcasecmp is missing (config.h.cmake)
2016-08-16 10:27:09 +02:00
jean-pierre charras 00b9ac7cc3 Findngspice.cmake: add missing search paths for ngspice default install on Windows. 2016-08-15 15:27:24 +02:00
Maciej Suminski 6e4d6c445c Add NGSPICE_ROOT_DIR parameter for libngspice CMake script 2016-08-15 14:39:26 +02:00
Maciej Suminski 497b2a9442 CMake module for libngspice 2016-08-12 15:56:51 +02:00
Wayne Stambaugh 4ed346ea64 Eeschema: initial schematic I/O plugin.
* Factor out PROPERTIES object from the PCB plugin code and move it into
  common so it can be used by both the Pcbnew and Eeschema plugins.

* Add schematic I/O plugin manager for loading and saving schematic and
  component library files.

* Add initial attempt at a parser for current schematic file format.  This
  parser will be infinitely more strict than the current parser which is very
  forgiving in what it parses.

* Make minor changes to the base bitmap class to support the new parser.

* Add find root sheet support to sheet object to allow fetching the root
  sheet from any sheet in the stack.
2016-07-06 05:22:56 -04:00
Wayne Stambaugh df99b4068d Update stable release 5 road map.
* Remove tasks that are not going to be completed by FOSDEM 2017 release
  (hopefully) announcement.

* Update item task lists to reflects changes discussed at CERN meeting.

* Update item status to reflect the current state of the tasks.

* Add a few new changes that are slated for release.

* Revise the generic road map by deleting complete items and adding new items
  discussed at CERN meeting.

* Remove unused definition from config.h.cmake.
2016-07-05 10:06:23 -04:00
Simon Richter ea6ef51649 CMake: add FindSWIG.cmake from CMake 3.5 for swig 3.0 support.
* The FindSWIG.cmake shipped with CMake 3.0 does not yet look for the
  "cmake3.0" binary, this was added shortly after the 3.0 release.

* This file can be removed once the minimum CMake version is 3.1 or greater.
2016-06-30 11:03:09 -04:00
Simon Richter 4ee956d77a FindwxWidgets.cmake: Remove extra newline 2016-02-15 18:50:49 +01:00
Simon Richter ff99b51b7d FindwxWidgets.cmake: Report failure of wx-config when looking for components 2016-02-15 18:50:49 +01:00
Simon Richter 4c29843813 FindwxWidgets.cmake: Use ENV foo rather than ENV{foo} 2016-02-15 18:50:49 +01:00
Simon Richter 9d08d93c26 FindwxWidgets.cmake: Add comment describing code block 2016-02-15 18:50:49 +01:00
Simon Richter 380bb37931 FindwxWidgets.cmake: Reformat documentation 2016-02-15 18:50:49 +01:00
Simon Richter c109abb87e FindwxWidgets.cmake: Do not explicitly declare FOUND_VAR, unnecessary 2016-02-15 18:50:49 +01:00
Simon Richter 801611fad8 FindwxWidgets.cmake: Drop nonsensical assignment
No idea where that came from, but it is almost certainly an error.
2016-02-15 18:50:48 +01:00
Simon Richter f7d8a412cf FindwxWidgets.cmake: Determine version even when not asked to 2016-02-15 18:50:48 +01:00
Simon Richter 029a3ba61e FindwxWidgets.cmake: Improve regex for version number matches 2016-02-15 18:50:48 +01:00
Simon Richter 2f1bbdc0f3 FindwxWidgets.cmake: Simplify MATCHES
Arbitrary characters at beginning and end of the line are implicitly allowed anyway
2016-02-15 18:50:48 +01:00
Simon Richter ea4c8c546f FindwxWidgets.cmake: Expect directory layout for MSVC 64 bit
On 64 bit MSVC, the DLLs and import libraries are placed in a directory
called vc_x64, to allow parallel installation of 32 and 64 bit wxWidgets.
2016-02-15 18:50:48 +01:00
Simon Richter 51a1588456 FindwxWidgets.cmake: documentation for variables 2016-02-15 18:50:48 +01:00
Simon Richter bbd0c539e9 FindwxWidgets.cmake: Look for versioned wx-config scripts 2016-02-15 18:50:48 +01:00
Simon Richter bc480a010b FindwxWidgets.cmake: Fix indentation 2016-02-15 18:50:48 +01:00
Simon Richter 38359272c4 FindwxWidgets.cmake: Show line number in debug output 2016-02-15 18:50:48 +01:00
Simon Richter 9ff394e72a FindwxWidgets.cmake: Treat CygWin as unix rather than undefined 2016-02-15 18:50:48 +01:00
Simon Richter b66a584a8a FindwxWidgets.cmake: Use lowercase for CMake builtins 2016-02-15 18:50:48 +01:00
Simon Richter 6a7fa8950c FindwxWidgets.cmake: Use uppercase for macro names 2016-02-15 18:50:47 +01:00
Simon Richter 78a0316a08 FindwxWidgets.cmake: Use uppercase for DBG_MSG macro 2016-02-15 18:50:47 +01:00
Simon Richter b7adcb3728 FindwxWidgets.cmake: drop a few dbg_msg invocations 2016-02-15 18:48:40 +01:00
Simon Richter 86d072b5d1 FindwxWidgets.cmake: Remove arguments from else() and end*()
To reduce differences with upstream FindwxWidgets.cmake, use their style of
ending blocks.
2016-02-15 18:48:40 +01:00
Wayne Stambaugh f15af3ac8d Restore FindOpenSSL.cmake, the cmake version does not work on MinGW. 2016-01-14 10:31:59 -05:00
Wayne Stambaugh 99ba5259a6 Undo commit r6456 which completely breaks building on MSYS2/MingGW. 2016-01-12 21:50:18 -05:00
Simon Richter b09c88042b Synchronize FindwxWidgets.cmake with CMake project 2016-01-12 20:33:13 -05:00