Making QtTest optional

Alex Merry alex.merry at kde.org
Tue May 27 21:51:03 UTC 2014


On 27/05/14 13:14, Michael Palimaka wrote:
> Hi,
> 
> In most projects ported to KF5 with tests, I see that Qt5Test is being
> hard-required regardless of whether tests are being built or not.
> It's not a big issue, but it's not strictly correct either.
> 
> In a couple of workspaces projects the following approach is used:
> 
> find_package(Qt5Test ${QT_MIN_VERSION} CONFIG QUIET)
> set_package_properties(Qt5Test PROPERTIES
>          PURPOSE "Required for tests"
>          TYPE OPTIONAL
>          )
> add_feature_info("Qt5Test" Qt5Test_FOUND "Required for building tests")
> if (NOT Qt5Test_FOUND)
>     set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
> endif()
> 
> Frameworks uses a different approach because of unified test locations,
> but Qt5Test will only be pulled in if tests are built.
> 
> Any thoughts?

I think the current "best practice" for Frameworks is to make the
add_subdirectory(autotests) conditional on BUILD_TESTING being set, and
put the find_package(Qt5Test) in autotests/CMakeLists.txt. See, for
example, KService.

However, not all the frameworks have been changed to do this yet.

Alex



More information about the Kde-buildsystem mailing list