Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ElmerGUItester/CMakeLists.txt
3203 views
1
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
2
PROJECT(ElmerGUItester CXX)
3
4
5
IF(WITH_QT6)
6
MESSAGE(STATUS "------------------------------------------------")
7
SET(QT6_PKG_LIST Qt6Gui Qt6Core Qt6OpenGLWidgets)
8
FOREACH(_pkg ${QT6_PKG_LIST})
9
FIND_PACKAGE(${_pkg} PATHS ${QT6_PATH})
10
ENDFOREACH()
11
MESSAGE(STATUS " [ElmerGUItester] Qt6: " ${Qt6_FOUND})
12
MESSAGE(STATUS " [ElmerGUItester] Qt6 Libraries: ${Qt6OpenGLWidgets_LIBRARIES} ${Qt6Gui_LIBRARIES} ${Qt6Core_LIBRARIES}")
13
MESSAGE(STATUS "------------------------------------------------")
14
ADD_DEFINITIONS(-DWITH_QT6)
15
ELSEIF(WITH_QT5)
16
MESSAGE(STATUS "------------------------------------------------")
17
SET(QT5_PKG_LIST Qt5Gui Qt5Core Qt5Widgets)
18
FOREACH(_pkg ${QT5_PKG_LIST})
19
FIND_PACKAGE(${_pkg} PATHS ${QT5_PATH})
20
ENDFOREACH()
21
MESSAGE(STATUS " [ElmerGUItester] Qt5: " ${Qt5_FOUND})
22
MESSAGE(STATUS " [ElmerGUItester] Qt5 Libraries: ${Qt5Widgets_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Core_LIBRARIES}")
23
MESSAGE(STATUS "------------------------------------------------")
24
ADD_DEFINITIONS(-DWITH_QT5)
25
ELSE()
26
FIND_PACKAGE(Qt4 COMPONENTS QtGui QtCore REQUIRED)
27
ENDIF()
28
29
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
30
SET(CMAKE_AUTOMOC ON)
31
SET(CMAKE_AUTORCC ON)
32
SET(CMAKE_AUTOUIC OFF)
33
34
SET(TARGETS ElmerGUItester)
35
36
SET(HEADERS src/tester.h)
37
SET(FORMS forms/mainform.ui)
38
SET(SOURCES src/main.cpp src/tester.cpp)
39
40
SET(RESOURCES ElmerGUItester.qrc)
41
SET(WIN32_RC_FILE ElmerGUItester.rc)
42
43
IF(WITH_QT6)
44
QT6_WRAP_UI(UI_HEADERS ${FORMS})
45
QT6_ADD_RESOURCES(UI_RESOURCES ${RESOURCES})
46
ELSEIF(WITH_QT5)
47
QT5_WRAP_UI(UI_HEADERS ${FORMS})
48
QT5_ADD_RESOURCES(UI_RESOURCES ${RESOURCES})
49
ELSE()
50
QT4_WRAP_UI(UI_HEADERS ${FORMS})
51
QT4_ADD_RESOURCES(UI_RESOURCES ${RESOURCES})
52
INCLUDE(${QT_USE_FILE})
53
ADD_DEFINITIONS(${QT_DEFINITIONS})
54
ENDIF()
55
56
IF(MINGW AND WIN32)
57
SET(CMAKE_RC_COMPILER_INIT windres)
58
ENABLE_LANGUAGE(RC)
59
SET(CMAKE_RC_COMPILE_OBJECT
60
"<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
61
SET(SOURCES ${SOURCES} ${WIN32_RC_FILE})
62
ENDIF()
63
64
INCLUDE_DIRECTORIES(${APPLICATION_INCLUDE_DIRS})
65
ADD_EXECUTABLE(ElmerGUItester WIN32 ${SOURCES} ${UI_HEADERS} ${UI_RESOURCES})
66
67
IF(WITH_QT6)
68
TARGET_LINK_LIBRARIES(ElmerGUItester Qt6::OpenGLWidgets Qt6::Gui Qt6::Core)
69
ELSEIF(WITH_QT5)
70
QT5_USE_MODULES(ElmerGUItester Gui Core Widgets)
71
ENDIF()
72
73
TARGET_LINK_LIBRARIES(ElmerGUItester ${QT_LIBRARIES})
74
INSTALL(TARGETS ElmerGUItester RUNTIME DESTINATION "bin" COMPONENT "elmergui")
75
76