Commit Graph

481 Commits

Author SHA1 Message Date
Markus Pilman 50ad4a33fe Added possibility to include and exclude tests
Description

Testing
2020-04-28 16:19:04 +00:00
Andrew Noyes 0a8474e995 Install /var/lib/foundationdb/data
This is what the old buildrpms.sh and builddebs.sh seemed to do
2020-04-26 20:53:41 +00:00
Andrew Noyes fee9a5117f Don't config TLS if OpenSSL is missing OPENSSL_INIT_NO_ATEXIT 2020-04-25 17:59:17 -07:00
Andrew Noyes 50592d58fd Fix botched merge 2020-04-25 03:33:23 +00:00
Steve Atherton a345e4b7fe
Merge pull request #3003 from atn34/atn34/fix-incr-compilation
Depend on actorcompiler.exe
2020-04-24 18:09:21 -07:00
Andrew Noyes 1a71062ea9 Support compiling/running with thread sanitizer 2020-04-25 00:26:50 +00:00
Markus Pilman e870925b80 fixed documentation for USE_LD 2020-04-23 14:37:20 -07:00
Markus Pilman b313e63a77 another MacOS fix 2020-04-23 13:11:09 -07:00
tclinken 2049b3802a Only use -Wclass-memaccess when compiling C++ files 2020-04-23 12:42:26 -07:00
Markus Pilman b58b035871 next attempt for fixing macos build 2020-04-23 12:33:18 -07:00
Markus Pilman 430cf4dbaa don't explicitely set `LLD` on MacOS 2020-04-23 12:29:36 -07:00
Markus Pilman 159b97517b Chose sensible compiler defaults 2020-04-23 12:24:12 -07:00
tclinken b1f525583a Added -Wclass-memaccess compiler option and fixed warnings 2020-04-22 21:53:42 -07:00
Markus Pilman f571564db6 Attempted to fix debian directory structure 2020-04-22 16:29:28 -07:00
Andrew Noyes a4434de4e8 Depend on actorcompiler.exe
Fixes #2985

This was originally done in 0443cf89ea,
and removed in 75f692b931, but I'm
not sure why it was removed. I'm guessing it was a botched merge
2020-04-22 12:12:48 -07:00
Markus Pilman 3024162196 Don't create package directories in source dir
This fixes one part of #2973
2020-04-22 11:55:26 -07:00
Andrew Noyes 9afa3545b5 Prevent server and clients rpm's from conflicting
Before, the file /etc/foundationdb conflicted between the server and
clients package, and /usr/lib64/cmake and /usr/lib64/pkgconfig
conflicted with some system packages.
2020-04-16 22:00:49 +00:00
mpilman 7aa030a850 fix weird typo 2020-04-13 21:08:48 -07:00
mpilman f0ab168368 attempt on fixing make bug 2020-04-13 20:34:09 -07:00
Markus Pilman e004d912bd Also depend on Joshua scripts 2020-04-10 18:23:29 -07:00
Markus Pilman 4b5fdef976 fix correctness dependencies 2020-04-10 18:16:52 -07:00
Markus Pilman a3b5efe6eb suppress weird ccache warning with clang 2020-04-10 10:08:24 -07:00
Markus Pilman ceab4374cf statically link libc++ 2020-04-09 14:16:14 -07:00
Markus Pilman 8b5780c36c don't include source and binary dir
This forces users to use include paths from the sources root.

So `#include "Arena.h"` won't work anymore, only
`#include "flow/Arena.h"` will.
2020-04-06 10:13:49 -07:00
Markus Pilman bbd2fe62cc Merge branch 'master' of github.com:apple/foundationdb into features/boost70 2020-04-02 09:21:01 -07:00
Alvin Moore cbcd0abdc0 Fixed the creation of binding test package 2020-03-31 18:40:25 -07:00
Markus Pilman 6e87770b27
Update cmake/CompileBoost.cmake
Co-Authored-By: Alvin Moore <36203359+AlvinMooreSr@users.noreply.github.com>
2020-03-31 16:52:55 -07:00
Markus Pilman 95fc5ae4ec Introduce `set_env` function
This makes it easier to handle environment variables in cmake.
It also reduces the code needed to check whether variables are correct
2020-03-27 15:44:55 -07:00
Markus Pilman 28cd38913d Merge branch 'master' of github.com:apple/foundationdb into features/boost70 2020-03-27 13:44:10 -07:00
Markus Pilman 644e0ff30b Use full version string in package names 2020-03-27 09:47:37 -07:00
Markus Pilman 0f224ead7a fixed formatting 2020-03-27 09:38:20 -07:00
Markus Pilman c5191f5c51
Update cmake/AddFdbTest.cmake
Co-Authored-By: Alvin Moore <36203359+AlvinMooreSr@users.noreply.github.com>
2020-03-27 09:36:57 -07:00
Markus Pilman ce318c18fa
Update cmake/AddFdbTest.cmake
Co-Authored-By: Alvin Moore <36203359+AlvinMooreSr@users.noreply.github.com>
2020-03-27 09:36:46 -07:00
Markus Pilman 893a38008c
Update cmake/AddFdbTest.cmake
Co-Authored-By: Alvin Moore <36203359+AlvinMooreSr@users.noreply.github.com>
2020-03-27 09:36:38 -07:00
Markus Pilman 55e5d5b4d9
Update cmake/AddFdbTest.cmake
Co-Authored-By: Alvin Moore <36203359+AlvinMooreSr@users.noreply.github.com>
2020-03-27 09:36:30 -07:00
Markus Pilman def7f39328
Update cmake/AddFdbTest.cmake
Co-Authored-By: Alvin Moore <36203359+AlvinMooreSr@users.noreply.github.com>
2020-03-27 09:36:08 -07:00
Markus Pilman ac9f79116e Build bindingtester 2020-03-26 16:01:58 -07:00
Markus Pilman 99e4bb92c0 Generate valgrind tar file for Joshua 2020-03-26 14:02:21 -07:00
Markus Pilman c095d26830 include joshua scripts 2020-03-26 13:52:18 -07:00
Markus Pilman e8c41e3f82 fixed strip_target dependencies 2020-03-26 13:45:22 -07:00
Markus Pilman 74f21c831c fixed correctness tar name 2020-03-26 13:45:12 -07:00
mpilman 7fe56ccb00 always build correctnes package 2020-03-25 18:01:08 -07:00
mpilman ce6c4cb8d8 Build and package TestHarness 2020-03-25 17:36:47 -07:00
Andrew Noyes 0539ca55d8 Update cmake VALGRIND defs to match Makefile 2020-03-03 13:41:37 -08:00
A.J. Beamon 083e3f38f3
Merge pull request #2688 from schedutron/py3doc-cmake
Have CMake build docs with Python3
2020-02-24 11:53:41 -08:00
Evan Tschannen 96258b9809 Merge branch 'release-6.2'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/ManagementAPI.actor.cpp
#	fdbrpc/FlowTransport.actor.cpp
#	fdbserver/ClusterController.actor.cpp
#	fdbserver/DataDistribution.actor.cpp
#	fdbserver/DataDistribution.actor.h
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/KeyValueStoreMemory.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/QuietDatabase.actor.cpp
#	fdbserver/SkipList.cpp
#	fdbserver/StorageMetrics.actor.h
#	fdbserver/TLogServer.actor.cpp
#	fdbserver/fdbserver.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	fdbserver/workloads/KVStoreTest.actor.cpp
#	flow/CMakeLists.txt
#	flow/Knobs.cpp
#	flow/Knobs.h
#	flow/genericactors.actor.cpp
#	flow/serialize.h
2020-02-21 19:09:16 -08:00
Alvin Moore 3354e6b278 Enabled TLS for CMake Mac builds
Disabled TLS for CMake Windows builds
2020-02-21 11:23:51 -08:00
Saurabh Chaturvedi 2707c91073
Find Interpreter Component for Python3
Co-Authored-By: Markus Pilman <markus@pilman.ch>
2020-02-21 12:18:35 +05:30
Saurabh Chaturvedi b5f63f3c88
Check for Python3_Interpreter_FOUND instead of Python3_FOUND
Co-Authored-By: Markus Pilman <markus@pilman.ch>
2020-02-21 12:17:16 +05:30
Evan Tschannen f04e311a1e Merge commit 'b46d6e25e24993ab5a5f04091fd3235050b7cd09' into feature-boost-ssl
# Conflicts:
#	fdbserver/SimulatedCluster.actor.cpp
#	flow/Net2.actor.cpp
2020-02-20 17:36:38 -08:00
Alex Miller 41afeb245e Temporarily disable TLS on OSX 2020-02-20 17:03:16 -08:00
Alex Miller 3bcecea30b Fix the cmake build when neither SSL library is found. 2020-02-19 17:03:57 -08:00
Saurabh Chaturvedi ed1458c834 Have CMake build docs with Python3 2020-02-17 19:30:03 +05:30
mpilman c2ccbbadd8 Revert "Several fixes to make FDB compile with clang-cl"
This reverts commit 0e1f9efb85.
2020-02-14 22:18:30 -08:00
Markus Pilman 0e1f9efb85 Several fixes to make FDB compile with clang-cl 2020-02-14 22:05:43 -08:00
mpilman 3a1e878a9b Upgrade to boost 1.72 2020-02-14 18:10:13 -08:00
Alex Miller d716c50000 Find OpenSSL or LibreSSL in CMake 2020-02-13 21:31:36 -08:00
Alex Miller 188b564dfb
Merge pull request #2147 from atn34/werror
Don't use -Werror by default
2020-02-13 18:35:57 -08:00
mpilman 5a9d420cb7 Merge remote-tracking branch 'upstream/release-6.2' into release-merges/20200210 2020-02-10 10:02:05 -08:00
mpilman 5c294e2646 Several build improvements - enables parallel builds on Windows (again) 2020-02-09 08:34:14 -08:00
mpilman d09e07f1f5 Merge remote-tracking branch 'upstream/master' into features/icc 2020-02-04 10:26:18 -08:00
Andrew Noyes a6b3a3ee47 Set USE_WERROR on build/docker-compose.yaml 2020-02-03 09:09:43 -08:00
Andrew Noyes 33132fe0ca Set USE_WERROR to ON for gcc 8.3.1 2020-02-03 09:06:29 -08:00
Andrew Noyes ffe617376c Don't use -Werror by default
We'll still enforce that PR's are warning-free before they're merged.
2020-02-03 09:06:29 -08:00
Daniel Smith 9f1fda554c
Formatting 2020-01-28 21:32:56 -05:00
Daniel Smith 4ecf58adff
Apply suggestions from code review
Co-Authored-By: Markus Pilman <markus@pilman.ch>
2020-01-28 21:32:13 -05:00
Daniel Smith b9de844ee7 Add link option specific to Clang 2020-01-28 12:51:05 -05:00
A.J. Beamon 62fc3bf084
Merge pull request #2558 from apple/release-6.2
Merge Release Into Master
2020-01-17 10:39:03 -08:00
Evan Tschannen 3f9d9d8b84 Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	cmake/FlowCommands.cmake
#	documentation/sphinx/source/release-notes.rst
#	fdbclient/StorageServerInterface.h
#	fdbserver/DataDistributionTracker.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/fdbserver.actor.cpp
#	flow/Knobs.h
#	flow/Platform.cpp
#	versions.target
2020-01-16 18:37:47 -08:00
mpilman 9095a8b151 make dependencies explicit 2020-01-16 14:40:29 -08:00
Alvin Moore 0ed6875f0e Removed debug file 2020-01-15 06:43:48 -08:00
Alvin Moore ae7e8cbcba Fixed syntax 2020-01-15 02:51:16 -08:00
Alvin Moore 76c8a93cac Add check for file existence before stripping
Added storing of debug infomratio
2020-01-15 02:29:34 -08:00
Alvin Moore 06e7bc061d
Merge pull request #2500 from apple/release-6.2
Merge Release 6.2 Into Master
2019-12-23 15:00:34 -08:00
Alvin Moore 6acf04bb72 Ensured that the cmake variable is always initialized/set to some value when compared and thereby has an expected value 2019-12-23 11:50:01 -08:00
Alvin Moore 93c1810ad8
Merge pull request #2496 from apple/release-6.2
Merge Release 6.2 Into Master
2019-12-23 10:17:23 -08:00
Alvin Moore 325d553973 Set the package release version based on if the build is a release package or not like the make builds 2019-12-23 02:42:02 -08:00
Alvin Moore 3ce3e1e06e Changed the name of the rpm packages to conform to the existing names when building release project 2019-12-22 20:11:40 -08:00
Alvin Moore c0614bc037
Merge pull request #2492 from apple/release-6.2
Release 6.2 Merge Into Master
2019-12-20 15:21:33 -08:00
Alvin Moore 370786c95d Fixed package name (again) 2019-12-20 10:18:34 -08:00
Alvin Moore cb6ab87621 Fixed the name of the rpm and deb packages 2019-12-20 09:37:24 -08:00
Alvin Moore 21390c493a Merge branch 'release-6.2' of github.com:apple/foundationdb into release_6.2_merge
Resolved merge by keeping new test file from master branch: SampleNoSimAttrition.txt adding new constraint from Release branch about existing test file: SimpleExternalTest.txt

# Conflicts:
#	tests/CMakeLists.txt
2019-12-18 09:05:08 -08:00
Alvin Moore 28d626800d Allow Valgrind to be enabled via environmental variable 2019-12-17 07:12:26 -08:00
Alvin Moore 4d575b2cda Removed cache variable
Added status message to indicate what is buildinng
2019-12-17 00:10:06 -08:00
Alvin Moore d0f68ace4a Switched back to allowing only one RPM platform to be built at a time.
Allow the selection of el6 RPM creation to be made via environmental variable
2019-12-16 14:41:44 -08:00
Alvin Moore 3bbfa8a1ad Only include the git version within the rpm and deb name if defined
Removed platform el6 and el7 from package name
2019-12-16 14:40:40 -08:00
Alvin Moore 3da9d182b1 Switched to using environmental variable for enablement since TOUPPER did not produce expected results sometimes 2019-12-16 14:37:51 -08:00
Alvin Moore bc339414f5 Add support for building el6 and el7 RPM packages by default using single cpack command 2019-12-16 00:13:17 -08:00
Alvin Moore 413cafe368 Modified compilation and package names to conform to existing compilation options and packaging names
Modifications to existing standards (even when wrong should be made outside of port to cmake)
2019-12-15 07:13:46 -08:00
Alvin Moore 3bf971ba8b Merge branch 'release-6.2' of github.com:apple/foundationdb into release_6.2_merge
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbserver/storageserver.actor.cpp
2019-12-12 07:13:12 -08:00
Alvin Moore bdc16def8e
Merge pull request #2437 from AlvinMooreSr/publish_cmake
CMake Publishing Changes
2019-12-12 06:50:04 -08:00
Alvin Moore 2c673d205f Changed the cmake naming convention of rpms and deb packages to match the existing format which is sadly different between the formats. 2019-12-11 22:18:05 -08:00
Alvin Moore 40646a6fc5 Fixed the naming convention of the DEB packages to be the same as before 2019-12-11 18:43:52 -08:00
Alvin Moore cb7af96017 Ensure that the naming convention for the OSX package is the same as it was 2019-12-11 18:43:15 -08:00
Alvin Moore 363feafacd Changed the name of a cmake functions
Added working directory for cmake command
2019-12-11 13:59:03 -08:00
Andrew Noyes 6a5f2a7eec Disable alignment-requiring instructions until #1434 is resolved 2019-12-11 11:05:02 -08:00
Alvin Moore aece864143 Added support for creating symlinks to fdbbackup within bin and packages/bin directory 2019-12-10 11:44:45 -08:00
Andrew Noyes 991733a7fb Disable alignment-requiring instructions until #1434 is resolved 2019-12-05 15:11:10 -08:00
Andrew Noyes 1721658210 Ignore -fsanitize=alignment for UBSAN
Until we fix all occurrences
2019-12-02 16:20:06 -08:00
Andrew Noyes 4022ca1381 Add USE_UBSAN cmake option 2019-12-02 16:20:06 -08:00
Andrew Noyes 30908b0bb1 Ignore -fsanitize=alignment for UBSAN
Until we fix all occurrences
2019-11-26 19:34:44 -08:00
Markus Pilman 653b180004 make it work if external dir has trailing / 2019-11-08 23:13:32 +00:00
Markus Pilman 94791fbd12 remove this functionality from Windows
Windows file paths are a pain to work with. Currently I don't know
of anyone who needs this feature on Windows - so I just remove it there
2019-11-08 22:21:47 +00:00
Markus Pilman 01c2676152 Add feature to add external dependencies to test package 2019-11-08 22:15:38 +00:00
Markus Pilman d0d036b3a7 Add cmake command to package tests 2019-11-08 21:39:21 +00:00
Andrew Noyes b893374c68 Add -Wno-attributes for gcc 2019-10-25 10:42:22 -07:00
Evan Tschannen 3325980c03 Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	documentation/sphinx/source/release-notes.rst
#	fdbserver/DataDistribution.actor.cpp
#	fdbserver/OldTLogServer_6_0.actor.cpp
#	fdbserver/TLogServer.actor.cpp
#	fdbserver/WorkerInterface.actor.h
#	fdbserver/worker.actor.cpp
#	versions.target
2019-10-24 17:38:15 -07:00
mpilman a79757a788 Fix compiler errors on Catalina
Fixes #2263
2019-10-21 11:15:37 -07:00
A.J. Beamon ecad374fdb
Merge pull request #2095 from atn34/fix-actorcompiler-dep
Depend on actorcompiler.exe, rather than target
2019-10-03 09:56:49 -07:00
Meng Xu d0147e5e5d Merge branch 'release-6.2' into mengxu/merge-release620-to-master-v3
Resolved Conflicts:
	documentation/sphinx/source/release-notes.rst
	fdbserver/DataDistribution.actor.cpp
	versions.target
2019-10-02 13:22:56 -07:00
Evan Tschannen b784115f14
Merge pull request #2152 from atn34/use-ubsan
Add USE_UBSAN cmake option
2019-10-02 10:13:58 -07:00
Andrew Noyes c967fa55cc Add USE_UBSAN cmake option 2019-09-26 13:44:28 -07:00
Alvin Moore f13039e6d4 Switched to using CMAKE_CXX_STANDARD for setting c++17 2019-09-24 11:22:24 -07:00
Alvin Moore 9ae1125a85 Only enable `no-register ` option if ccache is enabled because of ccache problem 2019-09-24 11:22:24 -07:00
Alvin Moore c447d5999d Added support to allow USE_LIBCXX to be enabled via environmental variable
Changed use of '-std=c++17)' to setting the CXX standard via CMAKE_CXX_STANDARD keyword
Added c++ library for linking
Added compilation options to ignore certain command parameters when using CCACHE due to ccache bug
2019-09-24 11:22:24 -07:00
Chris Donati 8b97bf2b2c Remove vendored argparse installation references 2019-09-17 18:42:36 -07:00
Andrew Noyes ea89f75446 Depend on both custom_target and generated file
https://samthursfield.wordpress.com/2015/11/21/cmake-dependencies-between-targets-and-files-and-custom-commands/
sheds some light.
2019-09-12 14:03:14 -07:00
Alvin Moore e59fb55342 Fixed space vs tab 2019-09-12 11:56:03 -07:00
Alvin Moore b765e73202 Ensured that using DEFAULT for USE_LD does not result in error 2019-09-12 11:56:03 -07:00
Alvin Moore e741ad299b Added support for using different linkers within make projects
Better cmake support for linkers
2019-09-12 11:56:03 -07:00
Alvin Moore 443d5ffa41 Added support for specifying the build linker by environmental variable
Added support for specifying the BFD linker
2019-09-12 11:56:03 -07:00
Andrew Noyes 0443cf89ea Depend on actorcompiler.exe, rather than target
Before, changing the actor compiler would not cause actor
files to get recompiled. Fix that.
2019-09-12 07:43:26 -07:00
Alvin Moore bb40023a4e
Merge pull request #1903 from AlvinMooreSr/cmake-lld
Allow Linker Specification Via Environmental Variable
2019-08-21 10:23:17 -07:00
Alvin Moore 1aa69b0baf Fixed space vs tab 2019-08-20 16:35:41 -07:00
Alvin Moore 7a88a850c5 Ensured that using DEFAULT for USE_LD does not result in error 2019-08-20 16:10:18 -07:00
Andrew Noyes 34dee5f9e3 Pass -Wno-unknown-attributes only for IDE 2019-08-16 09:24:57 -07:00
Andrew Noyes e4de4783bf Add [[flow_allow_discard]] 2019-08-16 09:24:57 -07:00
Andrew Noyes 1a0ab7854e Omit ActorFuzz etc from OPEN_FOR_IDE build 2019-08-16 09:24:57 -07:00
Andrew Noyes a8cdcff0c2 Change --disable-actor-without-wait-warning to --disable-diagnostics
We probably just want to disable all actor diagnostics for the flow test
files.

Also add --generate-probes to the help text
2019-08-16 09:24:57 -07:00
Andrew Noyes b17ad0ad64 Enable -Wunused-value 2019-08-16 09:24:57 -07:00
negoyal fe53b5e7a7 Add a parameter to enable/disable valgrind for ctest. 2019-08-15 11:56:34 -07:00
mpilman 7d247af500 Two minor bug fixes from recent optimizations 2019-07-31 19:14:11 -07:00
Alvin Moore ef9187446c
Merge pull request #1882 from mpilman/bug/libexec-tgz
Put fdbmonitor into `sbin` dir in tgz-package
2019-07-31 14:27:07 -07:00
mpilman 058f21b0fc fixed merge conflicts 2019-07-30 18:36:10 -07:00
mpilman b6440c7781 added flamegraph util 2019-07-30 18:36:10 -07:00
mpilman b7df7f3549 compatability with older cmake versions 2019-07-30 18:36:10 -07:00
mpilman 4dd219f55b made probes follow c naming rules 2019-07-30 18:36:10 -07:00
mpilman 9b96d8c166 a step further to uniqueness 2019-07-30 18:36:10 -07:00
mpilman 8eb06f7ab4 Only generate probes where it is supported 2019-07-30 18:36:10 -07:00
mpilman b81a4ef6a2 clang+libc++ support on linux + dtrace probes 2019-07-30 18:36:10 -07:00
Alvin Moore 397ad77532 Added support for using different linkers within make projects
Better cmake support for linkers
2019-07-29 16:41:42 -07:00
Alvin Moore e52d34e93a Added support for specifying the build linker by environmental variable
Added support for specifying the BFD linker
2019-07-26 08:49:56 -07:00
A.J. Beamon a92b6cd3d1 Merge branch 'master' into add-cache-memory-parameter
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
2019-07-25 13:41:57 -07:00
Andrew Noyes 3d2f35eec6 Fix a cmake typo
This allows a few more files to get type checked during an OPEN_FOR_IDE
build
2019-07-23 15:12:47 -07:00
A.J. Beamon 94be9560ea Add cache_memory parameter to fdbserver to control the size of the (4K) page cache. Change the default slighty from 2000 MiB to 2GiB. 2019-07-23 15:05:21 -07:00
mpilman 23d2c58446 Put fdbmonitor into `sbin` dir in tgz-package
Fixes #1753
2019-07-23 09:40:33 -07:00
mpilman 1ac2d01b03 Merge remote-tracking branch 'upstream/master' into flatbuffers-fixes2 2019-07-18 09:50:08 -07:00
Alvin Moore b9e938972c
Merge pull request #1719 from mpilman/features/static-libc++
statically link libstdc++ on Linux and remove std::variant
2019-07-16 21:00:02 -07:00
Evan Tschannen 2520b69803
Merge pull request #1832 from dyoungworth/bugFix
Fix ctests so each restart test has a seed unique to the first test
2019-07-16 16:43:17 -07:00
mpilman b18666d942 statically link libstdc++ on Linux and remove std::variant
this will hopefully fix #1610
2019-07-16 14:53:16 -07:00
Markus Pilman 520f552082
Update cmake/ConfigureCompiler.cmake
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-07-15 15:16:43 -07:00
dyoungworth baf8e020d1 use one index to track tests in ctest 2019-07-15 14:52:24 -07:00
Andrew Noyes 274cb40eb8 Run tests under valgrind when USE_VALGRIND 2019-07-11 23:03:31 -07:00
dyoungworth 62d7ee9424 Fix ctests so each restart test has a seed unique to the first test
and any other test
2019-07-11 09:56:51 -07:00
mpilman 23963328cc Compile relative paths into the debug info
This is a suggestion to resolve #1780

This change introduces a new cmake flag `RELATIVE_DEBUG_PATHS`.
If this flag is set or FDB is compiled with `-DFDB_RELEASE=ON`,
the resulting binary will have debug information using relative
file paths to source files. This simulates the behavior of the
old build system but might break local debugging (making the
debugger aware of build and source directory will be required).
2019-07-09 12:11:51 -07:00
Jingyu Zhou e2d7929b73 Remove redundant actor compiler flags. 2019-06-30 08:25:53 -07:00
Andrew Noyes 3a246c1d25 Remove -fdiagnostics-color=always
This way you can run with -DCMAKE_COLOR_MAKEFILE=0 in CI and not get
garbled escape characters in your log
2019-06-28 17:46:47 -07:00
Alex Miller 30b27349a7 Fix addFdbTest 2019-06-25 21:57:09 -07:00
Alvin Moore 8ff5150470
Merge pull request #1636 from atn34/export-libfdb_c
Export libfdb c
2019-06-24 13:08:41 -07:00
mpilman ab019fbe41 More minor fixes, removed snapshots 2019-06-20 14:28:31 -07:00
mpilman 844dd60202 FDB compiling with intel compiler 2019-06-20 09:29:01 -07:00
mpilman 6f52059750 Fix backtraces
pass -fno-omit-frame-pointer as we otherwise see broken back traces.
This should fix #1631 as well.
2019-06-18 15:33:12 -07:00
Evan Tschannen 20e3edeb0a Merge branch 'release-6.1'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbserver/storageserver.actor.cpp
#	versions.target
2019-06-14 12:42:59 -07:00
mpilman 4c62458172 Make valgrind work on Fedora 30 2019-06-11 10:27:08 -07:00
mpilman 8590cd4286 Add libc++ support for non-MacOS 2019-06-10 17:34:03 -07:00
Andrew Noyes c9dc2f98f0 Make pkg-config look more like example in man page 2019-06-09 15:22:06 -07:00
Andrew Noyes f5e7b8b165 Support pkg-config 2019-06-09 15:21:36 -07:00
Andrew Noyes 9af6326e1b Make find_package work 2019-06-09 15:21:36 -07:00
Andrew Noyes 882523330c include(/path/to/cmake/file) now works for fdb_c 2019-06-09 15:21:36 -07:00
Andrew Noyes cabe41626c Prepare for exporting fdb_c 2019-06-09 15:21:36 -07:00
Andrew Noyes 2b07a0559e Install headers in foundationdb dir 2019-06-09 15:21:36 -07:00
Andrew Noyes 8e0cbd299b Use 'map' for finding install paths 2019-06-09 15:21:36 -07:00
Alvin Moore 4e99bebb18 Added support for enabling ccache by environmental variable 2019-06-06 08:54:31 -07:00
Alex Miller 77697666e6 Make USE_CCACHE=ON print an error if ccache is not found 2019-06-05 11:46:41 -07:00
Alex Miller 78137c9ae8 Add a cmake flag to enable ccache use by default. 2019-06-05 11:46:41 -07:00
sramamoorthy 8370871e4c stale RESTORE option related code removed 2019-05-28 22:07:46 -07:00
sramamoorthy 281c785f94 '--restoring' cmd line arg removed for fdbserver
'--restoring' command line option was introduced to indicate
simulated fdbserver to restore from snapshot and restart the cluster.
As part of this change that option is removed and restore
information is stored in the restartInfo.ini.
2019-05-28 22:07:46 -07:00
sramamoorthy 4bc4c615da exec op to all tlog, restore change in test &other
- exec operation to go to all the TLogs
- minor bug fix in tlog
- restore implementation for the simulator
- restore snap UID to be stored in restartInfo.ini
- test cases added
- indentation and trace file fixes
2019-05-28 22:07:46 -07:00
sramamoorthy 69edefe68b Snapshot based backup and resotre implementation 2019-05-28 22:07:46 -07:00
Austin Seipp ee1e3f620a cmake: add support for choosing 'ld' via -DUSE_LD
This introduces a new USE_LD cached variable which can be set to one of
three values: LD, GOLD, or LLD. In the latter two cases, we propagate
the -fuse-ld={gold,lld} option to the compiler. The default case
defaults to whatever the ordinary system linker is, i.e. it does
nothing.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-15 08:33:36 -10:00
mpilman 69fa3d3903 fixed compilation issues after rebase 2019-05-13 14:15:23 -07:00
mpilman 8bbd28315e Added Object serializer (does not yet compile) 2019-05-13 14:15:22 -07:00
mpilman 57db135858 Use productbuild instead of PackageMaker on MacOS
fixes #1547
fixes #1549
2019-05-11 14:42:48 -07:00
Evan Tschannen 22499666d0 Merge branch 'release-6.1'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbserver/LogRouter.actor.cpp
#	flow/Trace.cpp
#	versions.target
2019-05-08 18:19:35 -07:00
Austin Seipp 084c049e64 cmake: require mcs, not dmcs, and drop dmcs support
dmcs was noted as deprecated in its startup message script many years
ago (2016), and dmcs itself was *actually* deprecated even years before
that -- 'dmcs' itself only executes 'mcs' with the .NET 4.0 SDK enabled
anyway.

Since CMake will be the new primary build system, let's go ahead and
drop support for dmcs entirely in this setup.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-07 16:57:56 -10:00
Austin Seipp 8f98104f92 cmake: echo versions.h target command if VERBOSE=1
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-07 16:54:05 -10:00
Alvin Moore 085a9242e4 Changed specification of the path to the License.txt file since previous value resulted in search at top level (/) directory. 2019-05-03 00:12:07 -07:00
Alvin Moore f308549be7 Commented out Readme file for mac os until working within packaging 2019-05-02 23:45:16 -07:00
Alvin Moore 345e8496ab Fixed the cmake package vendor and email information in order to prevent cpack errors 2019-05-02 22:14:18 -07:00
Alvin Moore 28d96fe612 Merge pull request #1470 from mpilman/fixes/windows-parallel-build
Don't pass options file to coverage tool
2019-04-25 12:02:10 -07:00
Alvin Moore 8badc2e505 Merge pull request #1338 from mpilman/features/stripped-binaries
Strip debug symbols with `make packages`
2019-04-25 12:02:10 -07:00
mpilman 33b6e4ec3e Add /MP option to compiler to allow for more parallelism 2019-04-17 16:13:34 -07:00
mpilman 8ef453eb2e Don't pass options file to coverage tool
This hopefully fixes a weird msbuild issue where files are generated
more than once. This issue is described here:
https://gitlab.kitware.com/cmake/cmake/issues/16767

This workaround makes coverage_tool not to use the generated options
files, which hopefully will result in msbuild not trying to generate
these files more than once.
2019-04-17 12:10:51 -07:00
Andrew Noyes 6207d724f8 Fix all -Wunused-variable warnings 2019-04-15 18:13:00 -07:00
Evan Tschannen cd5c9d91fa
Merge pull request #1443 from etschannen/master
Merge 6.1 into master
2019-04-10 17:43:07 -07:00
Evan Tschannen 21c0ba555c Merge branch 'release-6.1'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	versions.target
2019-04-08 18:38:42 -07:00
Alex Miller ee7822f032
Merge pull request #1412 from atn34/fix-sandbox-port
Fix port to match sandbox foundationdb.conf
2019-04-03 19:29:51 -07:00
Andrew Noyes 638978d9bb Fix comment 2019-04-03 13:52:00 -07:00
Jingyu Zhou fc59587b3c
Merge pull request #1393 from jzhou77/pprof
Gperftools Profiling fix.
2019-04-03 10:35:31 -07:00
Alvin Moore 19df3e7521 Fixed dotnet reference errors 2019-04-03 05:33:46 -07:00
Jingyu Zhou bb775eaf45 Only add compiler flags of gperftools for gcc 2019-04-02 19:58:21 -07:00
Jingyu Zhou 56a1128a9b Enhance cmake's gperftools support
Add compiler flags and link flags for gperftools.
2019-04-02 17:34:29 -07:00
mpilman 48f3e65bdf Strip debug symbols with `make packages`
When compiling on Linux/MacOS `make packages` will now create
a `lib` and a `bin` directory in the packages directory. In there
it will put stripped versions of all executables and shared
libraries (i.e. the binaries without debug symbols).

If this is run on Linux, it will additionally copy the debug symbols
of all executables into .debug files.
2019-03-20 20:27:10 -07:00
Alex Miller 5d59cfaff3 Use different default port for dev-sandbox
Co-Authored-By: mpilman <markus@pilman.ch>
2019-03-20 12:18:31 -07:00
mpilman a0fe00fa8d Add cmake targets to execute local dev instance 2019-03-20 12:18:31 -07:00
Alex Miller 1f1fb8acee Update cmake/InstallLayout.cmake
Co-Authored-By: atn34 <anoyes34@gmail.com>
2019-03-19 16:28:42 -07:00
Andrew Noyes b20acd6e5c Include empty etc dir in cmake clients deb
This seems to be necessary since without it the postinstall script
complains that directory is missing.
2019-03-19 16:28:42 -07:00
Andrew Noyes 56c14bee0b Remove python dep from cmake-generated deb 2019-03-19 16:28:42 -07:00
Andrew Noyes 143c62b959 Recognize install destination "lib" 2019-03-19 16:28:42 -07:00
Andrew Noyes 4866a8922e Fail build if install destination not recognized 2019-03-19 16:28:42 -07:00
Andrew Noyes fdde63bbdb Remove EXPORT since it's broken and unnecessary 2019-03-19 16:28:42 -07:00
Markus Pilman 913588d6f1 Update cmake/ConfigureCompiler.cmake
Co-Authored-By: satherton <stevea@apple.com>
2019-03-15 21:03:03 -07:00
Stephen Atherton 7f8475cf27 Removed flow/boost.cpp and the copied boost files it was using, added boost macros to makefile and cmake stuff to hopefully enable building without them. 2019-03-15 21:03:03 -07:00
mpilman bc4820865e Fix some Windows issues
1. We need to set a Windows target to get rid of warnings when compiling
   files that include windows.h
2. By default Boost will try to automatically link against boost_system.
   In order to prevent this, we define BOOST_ALL_NO_LIB
3. Somehow, I had to include winioctl.h in Platform.cpp. According to
   the documentation from MS, this shouldn't be necessary as windows.h
   includes this as well. However, for me it didn't compile otherwise.
2019-03-11 20:42:35 -07:00
mpilman b0894295ba Remove ugly debug message 2019-03-11 17:35:06 -07:00
mpilman 668eaeb8ae Packages tested and all seems working 2019-03-07 16:49:29 -08:00
mpilman 51ccdb1c9b Remove pidof hack as it was not stable 2019-03-07 16:49:29 -08:00
mpilman da72306642 several minor bug fixes 2019-03-07 16:49:29 -08:00
mpilman 645eba7b58 fixed cmake generated symlinks 2019-03-07 16:49:29 -08:00
mpilman 55f4d78fcf Support generating el6 and el7 rpms 2019-03-07 16:49:29 -08:00
mpilman 294baa4091 Fix package naming 2019-03-07 16:49:29 -08:00
mpilman e8624efb3b several minor improvements 2019-03-07 16:49:29 -08:00
mpilman 42e0a89a66 This makes package generation work
Resulting packages are not tested yet
2019-03-07 16:49:29 -08:00
mpilman 2537f26de6 First implementaion of more user-friendly cpack
Up unto here this code is only very rudiemantery tested.

This is a firest attempt of making cpack more user-friendly.
The basic idea is to generate a component for package type so
that we can have different paths depending on whether we build
an RPM, a DEB, a TGZ, or a MacOS installer. The cpack package
config file will then chose the correct components to use.

In a later point this should make it possible to build these
with `make packages` and the ugly iteration with calling cmake
between each package would be obsolete. While this solution is
a bit more bloated, it is also much more flexible and it will be
much easier to use.

Another benefit is, that this will get rid of all warnings during
a cpack run
2019-03-07 16:49:29 -08:00
mpilman 4a4af6fb2c Make cmake build fail if old build system was used
This changes makes a cmake build check for an existing
versions.h file in the source directory before it builds
anything else. If it finds it it will fail the build.

This is to prevent confusion when someone tries to use cmake
on a source directory where the old build system was used
before (as this is not supported).
2019-03-06 13:48:18 -08:00
Markus Pilman 590863479b Update cmake/ConfigureCompiler.cmake
Co-Authored-By: jzhou77 <jingyuzhou@gmail.com>
2019-03-05 14:58:44 -08:00
Jingyu Zhou bdf0fc4ffb Enable .pdb file generation on Windows
Add compiler flag for generating program database file (PDB) for Visual Studio.
2019-03-05 14:58:44 -08:00
Andrew Noyes 1292f5c59a Add TEST_LOG_FORMAT to cmake 2019-02-21 14:36:01 -08:00
mpilman b41611694f Fix weird cmake behavior with cached variables 2019-02-19 22:06:45 -08:00
mpilman 1395da9a8f keep test IDs the same over several cmake runs
CACHE INTRNAL was a bad choice for setting this
variable as it will keep increasing whenever cmake
runs. So we should use PARENT_SCOPE instead
2019-02-19 22:06:45 -08:00
mpilman e8af6512ec Generate distinct pseudo-random number for each test
Fixes #1161
2019-02-19 22:06:45 -08:00
mpilman 9b14aeb156 Tell cmake not to link/install on ide build 2019-02-19 15:16:59 -08:00
mpilman 41128d5bb5 Remove packages->package dependency
There is a cmake bug not allowing us to have this
dependency :(
2019-02-19 11:11:25 -08:00
mpilman acad3e8201 Put rpm, deb, or msi into the packages folder
This additionally fixes a dependency bug on Windows
2019-02-19 11:11:25 -08:00
mpilman 0bbbfb6ee3 Address Andrew's review comments 2019-02-15 00:01:42 -08:00
mpilman 3401c1f771 add option to fail cmake if not all dependencies are found 2019-02-15 00:01:42 -08:00
mpilman a0b20ef2c1 Add initscripts dependency to foundationdb-server 2019-02-15 00:01:42 -08:00
mpilman b06aa3b8ea Several bug fixes - debian package working
Did some manual minor testing on the debian package
2019-02-15 00:01:42 -08:00
mpilman a20e58bb4c Added linux-pkgs command to docker-compose file 2019-02-15 00:01:42 -08:00
mpilman 4266429dcf Fixed python dependency 2019-02-15 00:01:42 -08:00
mpilman 990e084fa2 Debian packages are successfully generated 2019-02-15 00:01:42 -08:00
mpilman ddddda7328 docker-compose can now build rpm
weirdly it still generates a foundationd-unspecified
rpm. However, it is empty and can be ignored for now
2019-02-15 00:01:42 -08:00
mpilman 5f25e5cb32 docker container and docker-compose for cmake
This is still in the testing-phase. However, it should
be mostly functional
2019-02-15 00:01:42 -08:00
mpilman 6529e2790b several minor bug fixes 2019-02-15 00:01:42 -08:00
mpilman f6ab577002 Fix Windows issue with libressl 2019-02-15 00:01:42 -08:00
mpilman 723f208cd1 Fix cmake output 2019-02-15 00:01:42 -08:00
mpilman 458c14ffcd Ruby bindings for cmake + gem generation
make packages will now also generate a gem file and
put it into the packages directory within the build directory
2019-02-15 00:01:42 -08:00
mpilman 9b7dcc4ed5 flow, python, and go bindings 2019-02-15 00:01:42 -08:00
mpilman 0d7d1a2b63 added IDE support for cmake 2019-02-15 00:01:42 -08:00
mpilman cd6b72b492 generate coverage.target.xml files 2019-02-15 00:01:42 -08:00