Skip to main content

Using Modern CMake with Qt, KDAB {Qt Virtual Tech Con 2020}

CMake is a a cross-platform build system, with powerful APIs for finding dependencies of various or specific versions, and with many abstractions for platforms, compilers, other build systems and dependencies. The next major Qt version, Qt6, will be using CMake internally as its build system, so the CMake integration with Qt will likely get tighter and more versatile in the long-term. In this talk we'll be introducing Qt specific CMake functionalities, in order to find and use Qt5 inside your personal CMake-based project, using modern CMake capabilities. We are going to discuss how to find Qt installs using CMake's find_package function and how to find specific Qt versions when multiple versions are installed. Further than that, useful CMake variables such as CMAKE_INCLUDE_CURRENT_DIR, CMAKE_AUTOMOC, CMAKE_AUTORCC and CMAKE_AUTOUIC will be explained in detail and how the use of the CMake integrations can speed up the build drastically. Last but not least some of the additional supplied Qt related CMake functions, such as for big resources or translation support will be discussed. Target audience: Build Engineers or Software Engineers who would like to know more about using Qt under CMake. Prerequisite: No prior CMake experience required Speaker: Kevin Funk - Senior Software Engineer at KDAB Kevin has actively developed with Qt/C++ since 2006 and has a special interest in tooling and profiling. He’s an active contributor to KDAB’s GammaRay analyzer (a high-level Qt application debugger) and has a strong emphasis on state machine tooling. He is co-maintainer of the KDevelop IDE, a powerful C/C++ development environment backed by Clang, and is pushing for cross-platform success inside KDE. Kevin holds a Masters Degree in Computer Science. Qt Virtual Tech Con 2020 was held in May 2020. 35+ live tech talks, Q&As, and more were carried out by members of the international Qt community, in a free online event for designers, developers, and technology managers; focusing on interactive learning to create high performance UI/UX, applications with the Qt framework. More recordings of the talks can be found in the 'Resource Centre' at #QtVTC20 Visit Visit