[CMake] find_package with COMPONENTS never honors REQUIRED

George PF george.p.f at mail.com
Thu Aug 30 12:00:51 EDT 2018


Hi,

once COMPONENTS is added to a find_package statement, any REQUIRED statement ceases to have an effect:

    cmake_minimum_required(VERSION 3.12)

    # find_package(FailsCorrectly REQUIRED)
    
    find_package(Qt REQUIRED COMPONENTS REQUIRED Qt5XYZ REQUIRED)
    find_package(Qt REQUIRED COMPONENTS          Qt5XYZ         )
    find_package(Qt          COMPONENTS REQUIRED Qt5XYZ         )
    find_package(Qt          COMPONENTS          Qt5XYZ REQUIRED)
    find_package(Qt          COMPONENTS REQUIRED Qt5XYZ REQUIRED)
    find_package(Qt REQUIRED COMPONENTS          Qt5XYZ REQUIRED)
    find_package(Qt REQUIRED COMPONENTS REQUIRED Qt5XYZ         )
    

This CMakeLists.txt runs, despite Qt5XYZ not existing. How can this be made to fail as it should, why 
else would there be OPTIONAL_COMPONENTS as well?

Regards

GPF


More information about the CMake mailing list