path: root/infrastructure/cmake
Commit message (Collapse)AuthorAge
* sync source tree with upstream tarballReinhard Tartler2019-05-30
* New upstream version 0.13~~git20190527.g039c4a1Reinhard Tartler2019-05-28
* New upstream version 0.13~~git20180819.g2f5b556Reinhard Tartler2019-03-10
* Add support for M4 CXX flag detection in CMakeListsChris Wilson2018-03-08
| | | | | | | | Enables all flags that are detected by M4 builds to be detected by CMake builds as well (except for -Wall which enables a bunch of junk). (cherry picked from commit 2ea8a9706d79a386729c7b2d814089e90bac6926) (cherry picked from commit c6038419372534dba578da0c1b506bebc64f8f67)
* Fix raidfile tests on 32-bit LinuxChris Wilson2018-03-08
| | | | | | | | | | | A recent fix for Solaris (commit 81e9aa6545f7f19124c9f5e88982b867d8732965) broke support for 32-bit Linux (which wasn't spotted because we didn't have any 32-bit builders). Try a different approach: detect whether the lseek syscall takes a 64-bit integer offset, and use that if possible. CMake: reimplement autoconf tests for 64-bit lseek (cherry picked from commit 138ea5d174f146f14d91a16bf5d1ce8e479d2024)
* Add support for OpenSSL 1.1 and replace deprecated function callsChris Wilson2018-01-01
| | | | | | | | | | | | | | | | | | | | | | | See for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat <>. Workaround for incorrect library suffixes searched by FindOpenSSL <>. Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1)
* Remove BoxBackup install step from Windows unibuildChris Wilson2018-01-01
| | | | | | | | We don't need to install anything in C:\Program Files\BoxBackup, and often don't have permission to do that anyway. (cherry picked from commit 2d31a3178ba5a39af594c1a0188748f5c8045b18) (cherry picked from commit dab8ccc4b0b9eef06c9e063fc510f9952a0757f7)
* Speed up superbuild rebuild by not extracting Boost againChris Wilson2018-01-01
| | | | (cherry picked from commit 8976906a563ab04eb3d1310c59d4c13cdc3b525e)
* Install Box Backup in a temporary directory in Windows unibuildsChris Wilson2017-09-18
| | | | | Otherwise the unibuild fails at the end for non-administrator users when it tries to write to C:\Program Files\BoxBackup.
* Reduce AppVeyor build verbosity by passing extra args to sub-CMakeChris Wilson2017-09-16
| | | | (cherry picked from commit 4876a5573a8bcd3312e9804c27fe9f30f3369747)
* Build Win32/64 binary packages automaticallyChris Wilson2017-09-16
| | | | | | | | | | | Every AppVeyor build on the specified branches that passes will be packaged into a ZIP file and installer using CPack and uploaded to GitHub Releases. Generate version number entirely in AppVeyor config, and build it into the binary, and use it in the names of the created binary packages, and compile it into the binaries. (cherry picked from commit c5d8173bf03ab9fa93d3b3ffd871b378b0819567)
* Install executables in test tree after building, not during "make install"Chris Wilson2017-06-18
| | | | | | | Build buildenv-testmain-template.cpp in-place, instead of copying, modifying and compiling it. Increase timeouts for some tests that sometimes run out of time on AppVeyor.
* Update versions of dependencies for Windows unibuild, add BoostChris Wilson2017-06-18
| | | | | | | | * Add a variable in appveyor.yml for the CMake out-of-source build tree. * Update the directory name in commands in appveyor.yml to match new CMake unibuild tree structure. * Increase build verbosity slightly. * Disable GUI crash dialogs that cause test hangs. * Disable the AppVeyor cache that we don't use.
* Normalize all the line endingsChris Wilson2017-05-15
* Fix line endings of .vcxproj.user files to CRLF always.Chris Wilson2016-09-29
* Reduce test timeout for testbackupstorefix.Chris Wilson2016-09-19
| | | | | The longer timeout should not be necessary as it runs in 35 seconds on my VM.
* Set test timeouts for CMake tests.Chris Wilson2016-09-10
| | | | | | Should avoid infinite test hangs, especially on Appveyor, where a bad compile (mixed runtimes) or an abort can popup an error message at runtime which hangs the test forever.
* Optimisation: for CMake builds, replace generated files only if changed.Chris Wilson2016-09-10
| | | | | Speeds up local development by avoiding unnecessary rebuilds when files have not changed.
* Replace most of Appveyor Windows build script with a CMakefile.Chris Wilson2016-09-09
| | | | | Should make it easier for Windows developers to get started by automating almost everything.
* Fix Unix compilation using CMake.Chris Wilson2016-09-09
| | | | | | | | | | Add platform detection that's compatible with the old buildsystem and its m4 autoconfigury. Make Travis build and test using CMake as a separate target. Remove unused function BoxGetTemporaryDirectoryName() to fixes compile using CMake on Unix.
* Break dependency on Cygwin commands in Windows tests.Chris Wilson2016-09-03
| | | | | | Define WIN32 properly when building with CMake, and in this case, use native commands such as attrib.exe instead of Cygwin chmod, so that users don't have to install Cygwin or msys-git.
* Skip building the parts of QDBM that we don't need with CMake.Chris Wilson2016-08-28
| | | | | Avoids spurious compiler warnings about redefinitions of symbols in files that we don't need to link with anyway.
* Use builtin TO_NATIVE_PATH in CMake instead of rolling our own.Chris Wilson2016-08-28
* Use ccache if available in CMake builds.Chris Wilson2016-08-28
* Update test runner to support CMake better.Chris Wilson2016-08-28
| | | | | | | | | | | Add support for: * Out-of-tree builds (by passing executable name from CMake to * AppVeyor test status * Cross-platform cmake (using cmake -E instead of platform-specific commands) Get CMake to install binaries needed by tests, in correct locations, with correct names.
* Fix case of filenames of "text" files used to generate protocols and docs.Chris Wilson2016-08-28
* Add MSVC user settings files to version control.Chris Wilson2016-08-28
* Standardise dependent library location for CMake.Chris Wilson2016-08-28
| | | | Add a CMake module to find readline libraries for us.
* Merge and, write monolithic Makefiles.Chris Wilson2016-08-28
| | | | | | | | | | | | | | | | | | | | | | This is necessary to fix compilation on machines with large numbers of cores (e.g. Travis build workers) because the build system automatically attempts maximum parallelism, and the old one is broken and tries to build multiple libraries simultaneously. The new buildsystem almost entirely avoids recursive Make: only trivial Makefiles in target directories (which invoke the top-level Makefile to build the appropriate output file) and the old docs makefile are not part of the new master Makefile. Due to higher parallelism and better dependency checking, Make should be much faster now. Not all old targets are supported though. I've removed implicit dependencies hard-coded in the build system, and expressed all dependencies in modules.txt, since the implicit dependencies were confusing, obscure and unnecessary, and it was hard to express their own dependencies on each other. Test both the default target and explicitly "parcels" for release builds on Travis.
* Update paths to match new cmake-generated project files location.Chris Wilson2016-02-14
* Move user properties files into build folder.Chris Wilson2016-02-13
| | | | | | | These are the only version-controlled files that should be in the build folder for CMake. Ideally even these would not be here, to make it easier to delete the folder completely, but Visual Studio expects them to be in the same directory as the (generated) project files.
* Fix passing of "release" argument to in release mode.Chris Wilson2015-12-27
* Substitute TARGET_PERL in test/bbackupd config.Chris Wilson2015-12-24
| | | | This is needed for executing the SyncAllowScript, on which several tests depend.
* Run release tests, not debug tests, in the release configuration.Chris Wilson2015-12-24
* In release configuration, install binaries into release tree, not debug tree.Chris Wilson2015-12-24
* Build release libs as well as debug in Appveyor, and link the right ones ↵Chris Wilson2015-12-24
| | | | into boxbackup.
* Add Visual Studio .user files to start executables in the right working ↵Chris Wilson2015-12-24
| | | | directories.
* Fix PERL_EXECUTABLE #define to use properly-escaped pathChris Wilson2015-12-19
* Add dependencies between modules properlyChris Wilson2015-12-19
* Fix PERL_EXECUTABLE to be a native path, so that system() works.Chris Wilson2015-12-17
* Install test binaries too.Chris Wilson2015-12-17
| | | | | This makes command-line debugging a bit easier, and more like it is on Unix platforms.
* Add CTest configurations to CMake. Make some tests work on Windows/MSVC.Chris Wilson2015-12-13
* Add header files to dependencies and generated Visual Studio projectsChris Wilson2015-12-13
* Move reusable code out of bin directories.Chris Wilson2015-12-13
| | | | | Allows tests to depend on lib/bbackupd instead of bin/bbackupd, which was always a hack, and really doesn't work with CMake.
* Add support for binary targets depending on other binary targets.Chris Wilson2015-12-10
* Hopefully fix code generation dependencies.Chris Wilson2015-12-10
* Auto-generate the bbackupquery documentation.Chris Wilson2015-12-10
| | | | Fix testbackupstorefix compile, that requires -DPERL_EXECUTABLE.
* Hide copious warnings about spurious memory leaksChris Wilson2015-12-09
* Generate protocol files as well, like exception files.Chris Wilson2015-12-09
* Find ZLib library and link to it.Chris Wilson2015-12-09