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.
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.
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.
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.
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.
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>
* Add CreateGitVersionHeader.cmake to extract git version information to create the kicad version
header.
* Add check for .git folder in source path to trigger git version CMake macro.
* Use CMake add_custom_target() to run WriteVersionHeader.cmake as a command.
* Modify WriteVersionHeader.cmake to be run as a command instead of a macro.
* Add version header creation as a CMake common library build dependency.
* Add cached CMake variable KICAD_BUILD_VERSION when build version is defined during
configuration.
* Fix CMake macro create_bzr_version_header to always update version.h file whenever a repo change
is found. Running `make rebuild_cache is no longer required.
* Add new CMake function for writing version.h file.
* Always use version.h file for build version string instead of meaningless hard coded date.
* Only use bzr version string when build version is not defined at configuration time for stable release
version strings.
* Minor cleanup of FindBazaar.cmake.
* Remove unnecessary version.h.cmake file.
* Remove redundant definition of KICAD_DATA_PATH since DEFAULT_INSTALL_PATH
was already defined.
* Use DEFAULT_INSTALL_PATH as the substitution for the default environment
variable paths.
* Add option to define DEFAULT_INSTALL_PATH during CMake configuration with
fall back to CMAKE_INSTALL_PREFIX if not not defined.
* Developer note: this change is primarily for package builders where
CMAKE_INSTALL_PATH is the path where the package builder temporarily
installs the build output before creating the package. When building
packages, DEFAULT_INSTALL_PATH should be set to the path where the
package will be installed by default.
* Fixed incorrect parameter ordering in gEDA footprint library parser
which read drill diameter, pad clearance and solder mask clearance.
* Fix FindOpenSSL.cmake version detect bug which was exposed by OpenSSL
version 1.0.2.
* Fix default KISYSMOD/KISYS3DMOD (#ifdef typo) for OSX builds.
* Remove setting KIGITHUB from kicad/pcbnew Info.plist in favor of hardcoded default
setting for OSX builds.
* Remove now unneeded Set3DShapesDefaultPath() and other small things.
* Add support for setting python site package path to PYTHON_SITE_PACKAGE_PATH.
* Move configure_file() so WXPYTHON_VERSION is already initialized before creating
config.h (Duh!).
* Add status message to indicate the version of wxPython found.
* Add test to CMakeLists.txt to verify wxPython is installed when
KICAD_SCRIPTING_WXPYTHON=ON.
* Add test to make sure wxPython version major and minor numbers match
the version of wxWidgets found.
* Add code to set the correct version of wxPython to the python scripting
initialization code.
* Minor code simplification in Pcbnew KIFACE main window creation.
These settings are now not common to the board editor, because the footprint editor can be run outside the board editor.
download_boost.cmake: ignore .htm* files when installing boost. They are not used, and often have a very very long (and stupid) name which sometimes creates issues.
* Move all Windows install subfolders from ${CMAKE_INSTALL_PREFIX}/share/ to
${CMAKE_INSTALL_PREFIX}/share/kicad/.
* Remove unused define DEFAULT_FP_LIB_PATH from build configuration.
* Remove Boost target when skipping internal Boost build.
* Update INSTALL.txt to reflect install tree changes.
* Add FindOpenSSL.cmake from CMake 3.0.2.
* Change MinGW find library to find libssl and libcrypto as well as libeay32 and ssleay32. Apparently
at some point OpenSSL changed the library file names for MinGW.
* Stop find_library() from looking in system paths and returning the actual DLLs rather than the link
libraries.
* Remove CMakeParseArguments.cmake to use the version that ships with CMake.
* Remove FindPackageHandleStandardArgs.cmake to use the version that ships
with CMake.
* Remove FindPythonLibs.cmake to use the version that ships with CMake.
* Edit FindPythonInterp.cmake to use the stock CMake version of
FindPackageHandleStandardArgs.cmake since the local version was removed.
* Add version detection to FindwxWidgets.cmake
* Convert commands and macro names to lower case in FindwxWidgets.cmake.
* Use find_package_handle_standard_args() to handle version comparison.
* Update FindPackageHandleStandardArgs.cmake from CMake 3.0.2 to get the
latest bug fixes.
* Add an option to ignore building every OSX dependency from source and
use find_package() the way it is supposed to work unless the developer
specifically requests building everything from source.
* Patch Boost interlocked.hpp from version 1.56.
* Fix segfault in Eeschema when auto save event occurs before root sheet is initialized.
* Add assertion when SCH_SHEET_PATH::BuildSheetList is called with NULL pointer.