CMAKE_MINIMUM_REQUIRED(VERSION 3.10) PROJECT(ElmerGUItester CXX) IF(WITH_QT6) MESSAGE(STATUS "------------------------------------------------") SET(QT6_PKG_LIST Qt6Gui Qt6Core Qt6OpenGLWidgets) FOREACH(_pkg ${QT6_PKG_LIST}) FIND_PACKAGE(${_pkg} PATHS ${QT6_PATH}) ENDFOREACH() MESSAGE(STATUS " [ElmerGUItester] Qt6: " ${Qt6_FOUND}) MESSAGE(STATUS " [ElmerGUItester] Qt6 Libraries: ${Qt6OpenGLWidgets_LIBRARIES} ${Qt6Gui_LIBRARIES} ${Qt6Core_LIBRARIES}") MESSAGE(STATUS "------------------------------------------------") ADD_DEFINITIONS(-DWITH_QT6) ELSEIF(WITH_QT5) MESSAGE(STATUS "------------------------------------------------") SET(QT5_PKG_LIST Qt5Gui Qt5Core Qt5Widgets) FOREACH(_pkg ${QT5_PKG_LIST}) FIND_PACKAGE(${_pkg} PATHS ${QT5_PATH}) ENDFOREACH() MESSAGE(STATUS " [ElmerGUItester] Qt5: " ${Qt5_FOUND}) MESSAGE(STATUS " [ElmerGUItester] Qt5 Libraries: ${Qt5Widgets_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Core_LIBRARIES}") MESSAGE(STATUS "------------------------------------------------") ADD_DEFINITIONS(-DWITH_QT5) ELSE() FIND_PACKAGE(Qt4 COMPONENTS QtGui QtCore REQUIRED) ENDIF() SET(CMAKE_INCLUDE_CURRENT_DIR ON) SET(CMAKE_AUTOMOC ON) SET(CMAKE_AUTORCC ON) SET(CMAKE_AUTOUIC OFF) SET(TARGETS ElmerGUItester) SET(HEADERS src/tester.h) SET(FORMS forms/mainform.ui) SET(SOURCES src/main.cpp src/tester.cpp) SET(RESOURCES ElmerGUItester.qrc) SET(WIN32_RC_FILE ElmerGUItester.rc) IF(WITH_QT6) QT6_WRAP_UI(UI_HEADERS ${FORMS}) QT6_ADD_RESOURCES(UI_RESOURCES ${RESOURCES}) ELSEIF(WITH_QT5) QT5_WRAP_UI(UI_HEADERS ${FORMS}) QT5_ADD_RESOURCES(UI_RESOURCES ${RESOURCES}) ELSE() QT4_WRAP_UI(UI_HEADERS ${FORMS}) QT4_ADD_RESOURCES(UI_RESOURCES ${RESOURCES}) INCLUDE(${QT_USE_FILE}) ADD_DEFINITIONS(${QT_DEFINITIONS}) ENDIF() IF(MINGW AND WIN32) SET(CMAKE_RC_COMPILER_INIT windres) ENABLE_LANGUAGE(RC) SET(CMAKE_RC_COMPILE_OBJECT " -O coff -i -o ") SET(SOURCES ${SOURCES} ${WIN32_RC_FILE}) ENDIF() INCLUDE_DIRECTORIES(${APPLICATION_INCLUDE_DIRS}) ADD_EXECUTABLE(ElmerGUItester WIN32 ${SOURCES} ${UI_HEADERS} ${UI_RESOURCES}) IF(WITH_QT6) TARGET_LINK_LIBRARIES(ElmerGUItester Qt6::OpenGLWidgets Qt6::Gui Qt6::Core) ELSEIF(WITH_QT5) QT5_USE_MODULES(ElmerGUItester Gui Core Widgets) ENDIF() TARGET_LINK_LIBRARIES(ElmerGUItester ${QT_LIBRARIES}) INSTALL(TARGETS ElmerGUItester RUNTIME DESTINATION "bin" COMPONENT "elmergui")