Apache Mesos - CMake Options

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:-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:-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]