Commit Graph

581 Commits

Author SHA1 Message Date
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