← Back to team overview

maria-discuss team mailing list archive

Re: How to not install tests or examples

 

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@xxxxxxxxx>
Date: Friday, June 26, 2020 at 18:11
To: "Chris Ross (cross2)" <cross2@xxxxxxxxx>, "maria-discuss@xxxxxxxxxxxxxxxxxxx" <maria-discuss@xxxxxxxxxxxxxxxxxxx>
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)<mailto:cross2@xxxxxxxxx>
Sent: Friday, 26 June 2020 21:30
To: maria-discuss@xxxxxxxxxxxxxxxxxxx<mailto:maria-discuss@xxxxxxxxxxxxxxxxxxx>
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



References