Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ElmerGUIlogger/CMakeLists.txt
3196 views
1
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
2
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
3
MESSAGE(STATUS "------------------------------------------------")
4
5
IF(ElmerGUIloggerSTANDALONE)
6
PROJECT(ElmerGUIlogger CXX C)
7
IF(WIN32)
8
INCLUDE(cmake/windows_bundle.cmake)
9
ENDIF(WIN32)
10
ENDIF(ElmerGUIloggerSTANDALONE)
11
12
IF(WITH_QT6)
13
MESSAGE(STATUS "------------------------------------------------")
14
SET(QT6_PKG_LIST Qt6OpenGL Qt6Xml Qt6Gui Qt6Core Qt6OpenGLWidgets Qt6PrintSupport)
15
FOREACH(_pkg ${QT6_PKG_LIST})
16
FIND_PACKAGE(${_pkg} PATHS ${QT6_PATH})
17
ENDFOREACH()
18
ADD_DEFINITIONS(-DWITH_QT6)
19
MESSAGE(STATUS " [ElmerGUIlogger] Qt6: " ${Qt6_FOUND})
20
MESSAGE(STATUS " [ElmerGUIlogger] Qt6 Libraries: ${Qt6OpenGL_LIBRARIES} ${Qt6Xml_LIBRARIES} ${Qt6OpenGLWidgets_LIBRARIES} ${Qt6Gui_LIBRARIES} ${Qt6Core_LIBRARIES} ${Qt6PrintSupport_LIBRARIES}")
21
MESSAGE(STATUS "------------------------------------------------")
22
ELSEIF(WITH_QT5)
23
MESSAGE(STATUS "------------------------------------------------")
24
SET(QT5_PKG_LIST Qt5OpenGL Qt5Xml Qt5Script Qt5Gui Qt5Core Qt5Widgets Qt5PrintSupport)
25
FOREACH(_pkg ${QT5_PKG_LIST})
26
FIND_PACKAGE(${_pkg} PATHS ${QT5_PATH})
27
ENDFOREACH()
28
ADD_DEFINITIONS(-DWITH_QT5)
29
MESSAGE(STATUS " [ElmerGUIlogger] Qt5: " ${Qt5_FOUND})
30
MESSAGE(STATUS " [ElmerGUIlogger] Qt5 Libraries: ${Qt5OpenGL_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5Script_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5PrintSupport_LIBRARIES}")
31
MESSAGE(STATUS "------------------------------------------------")
32
ELSE()
33
MESSAGE(STATUS "------------------------------------------------")
34
FIND_PACKAGE(Qt4 COMPONENTS QtOpenGL QtXml QtScript QtGui QtCore REQUIRED)
35
MESSAGE(STATUS " [ElmerGUIlogger] Qt4: " ${Qt4_FOUND})
36
MESSAGE(STATUS " [ElmerGUIlogger] Qt4_LIBRARIES: " ${Qt4_LIBRARY})
37
MESSAGE(STATUS "------------------------------------------------")
38
ENDIF()
39
40
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
41
SET(CMAKE_AUTOMOC ON)
42
SET(CMAKE_AUTORCC ON)
43
SET(CMAKE_AUTOUIC ON)
44
45
SET(HEADERS src/mainwindow.h)
46
SET(SOURCES src/main.cpp src/mainwindow.cpp)
47
SET(RESOURCES ElmerGUIlogger.qrc)
48
SET(RC_FILE ElmerGUIlogger.rc)
49
50
IF(WITH_QT6)
51
QT6_ADD_RESOURCES(UI_RESOURCES ElmerGUIlogger.qrc)
52
ELSEIF(WITH_QT5)
53
QT5_ADD_RESOURCES(UI_RESOURCES ElmerGUIlogger.qrc)
54
ELSE()
55
QT4_ADD_RESOURCES(UI_RESOURCES ElmerGUIlogger.qrc)
56
MESSAGE(WARNING "QT_USE_FILE: ${QT_USE_FILE}")
57
INCLUDE(${QT_USE_FILE})
58
ADD_DEFINITIONS(${QT_DEFINITIONS})
59
ENDIF()
60
61
62
63
IF(MINGW AND WIN32)
64
SET(CMAKE_RC_COMPILER_INIT windres)
65
ENABLE_LANGUAGE(RC)
66
SET(CMAKE_RC_COMPILE_OBJECT
67
"<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
68
SET(SOURCES ${SOURCES} ElmerGUIlogger.rc)
69
ENDIF()
70
71
72
ADD_EXECUTABLE(ElmerGUIlogger WIN32 ${SOURCES} ${UI_RESOURCES})
73
74
IF(WITH_QT6)
75
TARGET_LINK_LIBRARIES(ElmerGUIlogger Qt6::OpenGL Qt6::Xml Qt6::OpenGLWidgets Qt6::Gui Qt6::Core Qt6::PrintSupport)
76
ELSEIF(WITH_QT5)
77
QT5_USE_MODULES(ElmerGUIlogger OpenGL Xml Script Gui Core Widgets PrintSupport)
78
ENDIF()
79
80
TARGET_LINK_LIBRARIES(ElmerGUIlogger ${QT_LIBRARIES})
81
82
INSTALL(TARGETS ElmerGUIlogger RUNTIME DESTINATION "bin" COMPONENT "elmergui")
83
84