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