Making QtTest optional

Albert Astals Cid aacid at kde.org
Fri May 30 14:44:50 UTC 2014


El Divendres, 30 de maig de 2014, a les 15:27:06, Alex Merry va escriure:
> On 30/05/14 14:32, Albert Astals Cid wrote:
> > El Dimarts, 27 de maig de 2014, a les 22:51:03, Alex Merry va escriure:
> >> 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.
> > 
> > I disagree not building tests can be considered "best practice"? The best
> > practice is always bulding and running the tests. How are you going to
> > make
> > sure they pass if you don't even build them?
> 
> By making "build tests" the default. You have to actively pass
> -DBUILD_TESTING=OFF
> to disable building of tests.

Ah, misread your sentece the other way around :)

Cheers,
  Albert

> 
> Alex
> 
> _______________________________________________
> Kde-buildsystem mailing list
> Kde-buildsystem at kde.org
> https://mail.kde.org/mailman/listinfo/kde-buildsystem



More information about the Kde-buildsystem mailing list