If you're new to Mesos

See the getting started page for more information about downloading, building, and deploying Mesos.

If you'd like to get involved or you're looking for support

See our community page for more details.

CMake Options

The most up-to-date options can be found with cmake .. -LAH.

See more information in the CMake documentation.

Flag Explanation
-DVERBOSE=(TRUE|FALSE) Generate a build solution that produces verbose output (for example, verbose Makefiles). [default=TRUE]
-DBUILD_SHARED_LIBS=(TRUE|FALSE) Build shared libraries (where possible). [default=FALSE for Windows, TRUE otherwise]
-DENABLE_GC_UNUSED=(TRUE|FALSE) Enable garbage collection of unused program segments. This option significantly reduces the size of the final build artifacts. [default=FALSE]
-DENABLE_PRECOMPILED_HEADERS=(TRUE|FALSE) Enable auto-generated precompiled headers using cotire. [default=TRUE for Windows, FALSE otherwise]
-DCPACK_BINARY_[TYPE]=(TRUE|FALSE) Where [TYPE] is one of BUNDLE, DEB, DRAGNDROP, IFW, NSIS, OSXX11, PACKAGEMAKER, RPM, STGZ, TBZ2, TGZ, TXZ. This modifies the 'package' target to generate binary package of the specified format. A binary package contains everything that would be installed via CMake's 'install' target. [default=FALSE]
-DCPACK_SOURCE_[TYPE]=(TRUE|FALSE) Where [TYPE] is one of TBZ2, TXZ, TZ, ZIP. This modifies the 'package_source' target to generate a package of the sources required to build and test Mesos, in the specified format. [default=FALSE]
-DREBUNDLED=(TRUE|FALSE) Attempt to build against the third-party dependencies included as tarballs in the Mesos repository. NOTE: This is not always possible. For example, a dependency might not be included as a tarball in the Mesos repository; additionally, Windows does not have a package manager, so we do not expect system dependencies like APR to exist natively, and we therefore must acquire them. In these cases (or when -DREBUNDLED=FALSE), we will acquire the dependency from the location specified by the 3RDPARTY_DEPENDENCIES, which by default points to the official Mesos third-party dependency mirror. [default=TRUE]
-DENABLE_LIBEVENT=(TRUE|FALSE) Use libevent instead of libev for the event loop. This is required (but not the default) on Windows. [default=FALSE]
-DUNBUNDLED_LIBEVENT=(TRUE|FALSE) Build libprocess with an installed libevent version instead of the bundled. [default=TRUE for macOS, FALSE otherwise]
-DLIBEVENT_ROOT_DIR=[path] Specify the path to libevent, e.g. "C:\libevent-Win64". [default=unspecified]
-DENABLE_SSL=(TRUE|FALSE) Build libprocess with SSL support. [default=FALSE]
-DOPENSSL_ROOT_DIR=[path] Specify the path to OpenSSL, e.g. "C:\OpenSSL-Win64". [default=unspecified]
-DENABLE_LOCK_FREE_RUN_QUEUE=(TRUE|FALSE) Build libprocess with lock free run queue. [default=FALSE]
-DENABLE_JAVA=(TRUE|FALSE) Build Java components. Warning: this is SLOW. [default=FALSE]
-DENABLE_NEW_CLI=(TRUE|FALSE) Build the new CLI instead of the old one. [default=FALSE]
-D3RDPARTY_DEPENDENCIES=[path_or_url] Location of the dependency mirror. In some cases, the Mesos build system needs to acquire third-party dependencies that aren't rebundled as tarballs in the Mesos repository. For example, on Windows, we must aquire newer versions of some dependencies, and since Windows does not have a package manager, we must acquire system dependencies like cURL. This parameter can be either a URL (for example, pointing at the Mesos official third-party dependency mirror), or a local folder (for example, a local clone of the dependency mirror). [default="https://github.com/mesos/3rdparty/raw/master"]
-DPATCHEXE_PATH=[path] Location of GNU Patch for Windows binary. [default=%PROGRAMFILESX86%/GnuWin32/bin/patch.exe]