Thanks. Yeah, -DWITH_EMBEDDED_SERVER=OFF is definitely something I wanted, thank you. And, -DWITH_UNIT_TEST I should have off too, except that I’ve been simultaneously testing the functionality of the build, and also working on the packaging
system for my appliance. Trying to do incompatible things. Thanks, now I see that I should work on those separately.
I’ll take a look at CPackZIPConfig.cmake too, to see if that helps. I have a spec file already, for an RPM we’re building from it, so it’s likely the same kind of magic.
- Chris
From:
Vladislav Vaintroub <vvaintroub@gmail.com>
Date: Friday, June 26, 2020 at 18:11
To: "Chris Ross (cross2)" <cross2@cisco.com>, "maria-discuss@lists.launchpad.net" <maria-discuss@lists.launchpad.net>
Subject: RE: [Maria-discuss] How to not install tests or examples
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