Commit Graph

49 Commits

Author SHA1 Message Date
mpilman 5c294e2646 Several build improvements - enables parallel builds on Windows (again) 2020-02-09 08:34:14 -08:00
Alvin Moore 28d626800d Allow Valgrind to be enabled via environmental variable 2019-12-17 07:12:26 -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 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
Andrew Noyes 6a5f2a7eec Disable alignment-requiring instructions until #1434 is resolved 2019-12-11 11:05:02 -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
mpilman a79757a788 Fix compiler errors on Catalina
Fixes #2263
2019-10-21 11:15:37 -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
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
mpilman 7d247af500 Two minor bug fixes from recent optimizations 2019-07-31 19:14:11 -07:00
mpilman b6440c7781 added flamegraph util 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
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
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
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
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
mpilman 8590cd4286 Add libc++ support for non-MacOS 2019-06-10 17:34:03 -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 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 33b6e4ec3e Add /MP option to compiler to allow for more parallelism 2019-04-17 16:13:34 -07:00
Andrew Noyes 6207d724f8 Fix all -Wunused-variable warnings 2019-04-15 18:13:00 -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
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
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
mpilman f6ab577002 Fix Windows issue with libressl 2019-02-15 00:01:42 -08:00
mpilman 0d7d1a2b63 added IDE support for cmake 2019-02-15 00:01:42 -08:00
mpilman 6da5971e79 Guard all versions.h to not break old WIN32 build 2019-02-08 16:06:00 -08:00
mpilman 7e26b4ef0d Address comments from PR 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
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