#! [0] cmake_minimum_required(VERSION 3.1.0) project(testproject) # Find includes in corresponding build directories set(CMAKE_INCLUDE_CURRENT_DIR ON) # Instruct CMake to run moc automatically when needed set(CMAKE_AUTOMOC ON) # Create code from a list of Qt designer ui files set(CMAKE_AUTOUIC ON) # Find the QtWidgets library find_package(Qt5 COMPONENTS Widgets REQUIRED) # Populate a CMake variable with the sources set(helloworld_SRCS mainwindow.ui mainwindow.cpp main.cpp ) # Tell CMake to create the helloworld executable add_executable(helloworld WIN32 ${helloworld_SRCS}) # Use the Widgets module from Qt 5 target_link_libraries(helloworld Qt5::Widgets) #! [0] #! [1] find_package(Qt5 COMPONENTS Core REQUIRED) get_target_property(QtCore_location Qt5::Core LOCATION) #! [1] #! [2] find_package(Qt5 COMPONENTS Core REQUIRED) set(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_RELEASE} -fprofile-arcs -ftest-coverage") # set up a mapping so that the Release configuration for the Qt imported target is # used in the COVERAGE CMake configuration. set_target_properties(Qt5::Core PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE "RELEASE") #! [2] #! [5] foreach(plugin ${Qt5Network_PLUGINS}) get_target_property(_loc ${plugin} LOCATION) message("Plugin ${plugin} is at location ${_loc}") endforeach() #! [5]