Skip to content
Snippets Groups Projects
Closed LRC build failure with Qt 5.11 / deprecated cmake functions
  • View options
  • LRC build failure with Qt 5.11 / deprecated cmake functions

  • View options
  • Closed Issue created by Sébastien Blin

    From Baptiste Jonglez https://tuleap.ring.cx/plugins/tracker/?aid=1887

    Arch Linux recently updated to Qt 5.11, and it broke builds for LRC.

    Here is the output of CMake:

    -- The C compiler identification is GNU 8.1.1
    -- The CXX compiler identification is GNU 8.1.1
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found GCC version >= 4.8: 8.1.1
    
    -- Ring daemon header is in /usr/include/dring
    -- Ring library path is /usr/lib/libring.so
    -- VIDEO enabled
    -- Using Ring DBus-XML interfaces in /usr/share/dbus-1/interfaces
    CMake Error at CMakeLists.txt:710 (QT5_USE_MODULES):
    Unknown CMake command "QT5_USE_MODULES".

    According to the doc https://doc.qt.io/qt-5/cmake-manual.html , QT5_USE_MODULES is deprecated, so it probably got removed in Qt 5.11. The doc also says that TARGET_LINK_LIBRARIES should be used instead:

    qt5_use_modules(target [LINK_PUBLIC|LINK_PRIVATE] module ... ) Indicates that the target uses the named Qt 5 modules. The target will be linked to the specified modules, use the include directories installed by those modules, use the COMPILE_DEFINITIONS set by those modules, and use the COMPILE_FLAGS set by the modules. The LINK_PRIVATE or LINK_PUBLIC specifiers can optionally be specified. If LINK_PRIVATE is specified then the modules are not made part of the link interface of the target. See the documentation for target_link_libraries for more information.

    Note that this macro is only available if using CMake 2.8.9 or later. This macro is obsolete. Use target_link_libraries with IMPORTED targets instead.

    Linked items 0

  • Link items together to show that they're related or that one is blocking others.

    Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first