When building from a git checkout and HEAD does not exactly match
a tag, append the shortened revision hash to the hardcoded version
string. Do not attempt to provide any information beyond that.
This brings the PulseView versioning in line with the other modules
in the sigrok stack.
Pass --dirty to git describe. This needed a slight hack to
GetGitRevisionDescription.cmake to make it work. Also pass
--tags to make git include lightweight tags in its search.
Derive the PulseView version numbers and suffix from the git
repository if available. In order to make builds from source
tarballs work, also include a generated VERSION file in the
source package generated by CPack.
The included GetGitRevisionDescription.cmake file is a copy
from the https://github.com/rpavlik/cmake-modules repository.
cotire has proven itself to be counter-productive. It rebuilds the pre-compiled
header after any header in pulseview is modified causes a complete rebuild of
all of PulseView. Also, the pre-compiled header contains a union of all the
includes of all source files, which masks errors where source files are missing
needed includes.
Using STATUS looks nicer here (and it's an informational message only).
Old:
CMake Warning at CMake/memaccess.cmake:39 (MESSAGE):
Cross compiling - using portable code for memory access
Call Stack (most recent call first):
CMakeLists.txt:93 (memaccess_check_unaligned_le)
New:
-- Cross compiling - using portable code for memory access
Cotire (compile time reducer) is a CMake module that speeds up the
build process of CMake based build systems by fully automating
techniques as precompiled header usage and single compilation unit
builds for C and C++.
Cotire is released under the MIT license.