Changing a file that causes CMake to re-run would incorrectly use
leftover state to arrive at the wrong conclusion about whether the
system has a given type.
The CMake-generated config.h would redundantly define some types to
themselves, causing lots of warning in some cases (e.g. Xcode build).
This addresses #414
- Duplicates of the distribution's configuration files are now always
installed with a .example suffix
- Added --binary-package configure option to toggle configure logic
specific to the creation of binary packages.
- When not in binary packaging mode, `make install` never overwrites
existing configure files in case they've been modified. The previous
behavior (CMake's default) would only avoid overwriting modified files
if one consistently uses the same build directory and doesn't reconfigure.
- Fixed an issue with Mac package's pre-install script not preserving ACLs
- Minor cleanup/refactor of the make-mac/rpm-packages scripts
The pre/post install scripts for RPMs should not perform any logic
to backup config files, instead relying on the standard logic
that RPMs normally do.
For Mac packages, when an existing config file differs from the package's
version, the previous version is always kept and an alert is displayed to
the user explaining the situation.
* origin/topic/jsiwek/packaging:
Changes for packaging
Changes to CMake logic for binary packaging
Changes for CPack binary packaging
Fix package configuration macro returning from sub-project too early
Add warning when building and installing are done by different users
Fix for PackageMaker not accepting non-numeric versions
Fix for OS X 10.5 compile error wrt llabs()
Prefer static libraries for some dependencies on OS X
Added OS X configures options for SDK & minimum version
Changes to allow source packaging via CPack
- Added 'dist' target to top-level Makefile for doing source packages
- Added 'make-*-packages' scripts for generating binary packages
- Fixes for the ConfigurePackaging CMake script
- No longer fails when package version doesn't include a patch-level
- Now considers the case when a package doesn't install any
config files and the INSTALLED_CONFIG_FILES var is empty
- pre/post install scripts now track configuration files that may
be clobbered on package install/upgrade through the
INSTALLED_CONFIG_FILES CMake variable and attempts to make backups
when the distribution's file differs from the existing file.
- Refactored all packaging related stuff into a single CMake module
- Build should no longer fail when optional sources (e.g. broctl)
do not exist in the source directory, instead a warning is issued
- Additional configure options to change packaging behavior
- configure wrapper had bash syntax some places; replaced w/ sh syntax
- Added FindOpenSSL module. The one that ships with CMake does not
allow for specifying a non-standard location.
- datadir configure option changed to be relative to prefix. This
simplifies the packaging from having to consider absolute paths.
- Added macro for changing install_name of shared libs that need to
ship with precompiled Bro for OS X. This is only the optional
libmagic and libGeoIP for now.
Checking for netinet/if_ether.h and netinet/ip6.h depended
on including other headers first; observed when trying to
build on FreeBSD.
ARP.h was changed to conform to CMake style config.h generation.
Definitions are not set to 1 like with autotools, so we have
to check for definition, not just that the value is true.
- Asynchronous DNS resolver support assumed by default
- HAVE_ASYNC_DNS, HAVE_NB_DNS, and USE_NB_DNS preprocessor definitions
removed
- In the process, I added FindBIND and CheckNameserCompat CMake modules