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
mpilman
75f692b931
simplify actorcompiler and target to compile coveragetool
2019-02-15 00:01:42 -08:00
mpilman
308db3772c
build sphinx documentation
2019-02-15 00:01:42 -08:00
mpilman
543e6b9000
intermediate commit
2019-02-15 00:01:42 -08:00
mpilman
f601aa7407
Make Java an optional dependency
2019-02-15 00:01:42 -08:00
Andrew Noyes
1ea58c1e5e
Actually change name of flag
2019-02-13 10:44:58 -08:00
Andrew Noyes
3a38bff8ee
Use DISABLE_ACTOR_WITHOUT_WAIT_WARNING consistently
2019-02-13 10:30:35 -08:00
mpilman
6da5971e79
Guard all versions.h to not break old WIN32 build
2019-02-08 16:06:00 -08:00
mpilman
aeccec0ef8
Fix merge conflicts
2019-02-07 18:09:10 -08:00
mpilman
9c3e5e221f
started macos builder
2019-02-07 18:09:10 -08:00
mpilman
7e16ca4caa
Generate Windows-Installer with cmake
2019-02-07 15:37:04 -08:00
mpilman
7e26b4ef0d
Address comments from PR
2019-02-07 15:37:04 -08:00
mpilman
014e12e142
some more windows installer modifications
2019-02-07 15:37:04 -08:00
mpilman
dcbb248c69
Windows installer base functionality
...
CPack can now generate a MSI (needs WIX to be
installed). However, this currently does not include
fdbservice - I need to figure out how to install this
first.
2019-02-07 15:37:04 -08:00
mpilman
22612c94d9
Remove cmake debugging messages
2019-02-07 15:37:04 -08:00
mpilman
b2bea2d3e7
Added hint for CMake to find installed LibreSSL
2019-02-07 15:37:04 -08:00
mpilman
e45295a1f5
Added support for TLS
2019-02-07 15:37:04 -08:00
mpilman
f03cd6aee1
make c bindings work on Windows
2019-02-07 15:37:04 -08:00
mpilman
8a94d80deb
fdbservice and fdbrpc now compiling
2019-02-07 15:37:04 -08:00
mpilman
7a858b902d
Most of FDB compiling on Windows with cmake
2019-02-07 15:37:04 -08:00
Andrew Noyes
aa9a7a6dc0
Make init script executable in cmake install
2019-01-31 09:38:43 -08:00
mpilman
58964af7e1
ctest improvements - #1058
...
- A set of CMake variables controls whether to keep
the simfdb directory and the traces and whether we
want to aggregate the traces into a single file
- Test labels now contain the directory they are in
so that one can now run `ctest -R fast/`
- A different binary can be used for restart tests. CMake
will automatically look for an installed fdb and use that
by default. If none is found, it will use the built one
but it will also print a warning
- CMake will throw an error if there are any text files in
the tests directory that are not associated with a test.
- Moved testing from fdbserver/CMakeLists.txt to
tests/CMakeLists.txt
- Moved fdb testing functions to its own cmake module
2019-01-22 14:34:51 -08:00
mpilman
a31df1b0a6
Addressed comments from pull requests
...
- Moved some larger sections in CMakeLists.txt into separate files
- Fixed an include issue on OS X
- Fixed boost version
- Use PROJECT_VERSION by default instead of using versions.target
2019-01-02 13:32:26 -08:00
Markus Pilman
879cb31fa2
first version of debian build
2018-12-13 15:57:12 -08:00
Markus Pilman
1007708dfb
RPM package now building correctly
2018-12-13 15:56:45 -08:00
Markus Pilman
0b8af89826
Added missing dependency between boostProject and boost_target
2018-12-13 15:56:11 -08:00
Markus Pilman
f13ad0d50a
install fdb service with rpm and add dependencies
2018-12-13 15:55:53 -08:00
Markus Pilman
c654b1bb61
First version of working rpm packages
2018-12-13 15:55:31 -08:00
Markus Pilman
f7a87e52d9
Use system boost if installed
2018-12-13 15:53:08 -08:00
Markus Pilman
df0f491c29
Some more improvements to the build and preparations for packaging
2018-12-13 15:04:13 -08:00
Markus Pilman
dce290909d
fdbserver now compiling
2018-12-13 14:13:47 -08:00
mpilman
f5fcb666c5
flow compiling with cmake on OS X
2018-12-13 13:58:06 -08:00