Making QtTest optional
Michael Palimaka
kensington at gentoo.org
Wed May 28 10:37:55 UTC 2014
On 05/28/2014 07:51 AM, Alex Merry wrote:
> 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
>
This is working fine for frameworks, but doesn't map well to
non-frameworks projects bests tests are often split between multiple
directories.
More information about the Kde-buildsystem
mailing list