Note, if you do not build something, you won’t install it either.

 

To avoid building unit tests for example, there is -DWITH_UNIT_TESTS=0 (I think it perhaps should be even default, the  unit tests run rather rare, mostly on CI)

 

If you want to exclude embedded -DWITH_EMBEDDED_SERVER=0. Cuts build time and disk space requirements in half.

 

For an example of customization of component list at package time,  take a look  into win/packaging/CPackZIPConfig.cmake  

This excludes some components from Windows ZIP , even if the binaries were built.

 

At the build time, there is special win_package target (defined in win/packaging/CMakeLists.txt),  which runs cpack –config CPackZipConfig.cmake

 

From: Chris Ross (cross2)
Sent: Friday, 26 June 2020 21:30
To: maria-discuss@lists.launchpad.net
Subject: [Maria-discuss] How to not install tests or examples

 

I am building MariaDB 10.4.13 for a Linux appliance.     I do want both the server and client libraries, but I do not want many other things, including the examples and tests that seem to be getting built and installed.

 

I am configuring as follows:

 

cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=Debug -DAWS_SDK_EXTERNAL_PROJECT=OFF -DCMAKE_INSTALL_PREFIX:PATH=/base/usr -DWITH_JEMALLOC=OFF -DWITH_PCRE=auto -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_WSREP=OFF -DPLUGIN_WSREP_INFO=NO -DPLUGIN_BLACKHOLE=NO -DPLUGIN_MROONGA=NO -DMRN_GROONGA_EMBED=OFF -DPLUGIN_TOKUDB=NO -DPLUGIN_ROCKSDB=NO)

 

But as an example of things I want to avoid, the mysql*_embedded binaries in libmysqld/examples get built, and then installed.  Looking through the Cmake files, I can see references to CMAKE_INSTALL_COMPONENT of “Test”, and others, but I don’t know how to specify to cmake which components I do and don’t want to install.  Can someone help me here?

 

          - Chris