-
-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathconfig.pri
More file actions
147 lines (123 loc) · 5.15 KB
/
config.pri
File metadata and controls
147 lines (123 loc) · 5.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
################################################################################
### Choose between common configurations #
################################################################################
unix:isEmpty(PRESET) { # command-line argument to override
### Link dynamically against system-wide installed libraries(default).
if(!macx) {
PRESET = linux_all_dynamic
### Link statically against all.
#PRESET = linux_static
### Link statically as much as possible.except Qt.
#PRESET = linux_all_static
} else {
PRESET = osx_dist
}
}
win32:isEmpty(PRESET) {
PRESET = win32
}
!contains(PRESET, linux_all_static) { # Linux Desktop integration
unix:INSTALLS += desktop_entry mime_package mime_link icons
}
unix { # Linux / MacOS X
contains(PRESET, linux_all_static) {
### When installing into a self-contained directory structure use relative
### paths at runtime in order to support relocation.
isEmpty(INSTALLBASE): INSTALLBASE = .
target.path = "$$INSTALLBASE"
documentation.path = "$$INSTALLBASE/doc"
manual.path = "$$INSTALLBASE/manual"
translationfiles.path = "$$INSTALLBASE/translations"
plugins.path = "$$INSTALLBASE/plugins"
} else {
### this is what is called "prefix" when using GNU autotools
isEmpty(INSTALLBASE): INSTALLBASE = /usr
target.path = "$$INSTALLBASE/bin"
documentation.path = "$$INSTALLBASE/share/doc/alphaplot"
manual.path = "$$INSTALLBASE/share/doc/alphaplot/manual"
translationfiles.path = "$$INSTALLBASE/share/alphaplot/translations"
plugins.path = "$$INSTALLBASE/lib/alphaplot/plugins"
}
} # Linux / MacOS X
win32 { # Windows
isEmpty(INSTALLBASE): INSTALLBASE = .
target.path = "$$INSTALLBASE"
documentation.path = "$$INSTALLBASE"
translationfiles.path = "$$INSTALLBASE/translations"
plugins.path = "$$INSTALLBASE/fitPlugins"
}
### 64bit Linux only suffix
#linux-g++-64: libsuff = 64
#unix:LIBS += -L/usr/lib$${libsuff}
################################################################################
### Optional features #
################################################################################
### a console displaying output of scripts.
DEFINES += SCRIPTING_CONSOLE
DEFINES += SCRIPTING_MUPARSER
### a dialog for selecting the scripting language.
DEFINES += SCRIPTING_DIALOG
DEFINES += SEARCH_FOR_UPDATES
!contains(PRESET, linux_all_dynamic) {
DEFINES += DYNAMIC_PLUGIN_PATH
}
################################################################################
### Dependencies #
################################################################################
contains(PRESET, linux_all_dynamic) {
### dynamically link against installed system-wide
message(Build configuration: Linux all dynamic)
INCLUDEPATH = "$(HOME)/usr/include" $$INCLUDEPATH
QMAKE_LIBDIR = "$(HOME)/usr/lib" $$QMAKE_LIBDIR
LIBS += -lgsl -lgslcblas
}
contains(PRESET, linux_static) {
### Link statically and dynamically against rest.
LIBS += -lgsl -lgslcblas
}
contains(PRESET, linux_all_static) {
### mostly static linking, for self-contained binaries
message(Build configuration: Linux all static)
LIBS += /usr/lib/libgsl.a /usr/lib/libgslcblas.a
}
contains(PRESET, osx_dist) {
# Uses HomeBrew supplied versions of the dependencies
message(Build configuration: OSX Distro)
#INCLUDEPATH += /opt/homebrew/include
#QMAKE_LIBDIR += /opt/homebrew/lib
#INCLUDEPATH += /usr/local/homebrew/include
#QMAKE_LIBDIR += /usr/local/homebrew/lib
INCLUDEPATH += /usr/local/include
QMAKE_LIBDIR += /usr/local/lib
LIBS += -lgsl -lgslcblas
}
win32: {
!mxe {
### Static linking mostly.
message(Build configuration: Win32)
GSL_ROOT_PATH = $$clean_path($$(GSL_ROOT))
!isEmpty(GSL_ROOT_PATH) {
INCLUDEPATH += "$${GSL_ROOT_PATH}/include"
LIBS += "-L$${GSL_ROOT_PATH}/lib" gsl.lib gslcblas.lib opengl32.lib
} else {
isEmpty(LIBPATH): LIBPATH = ../3rdparty
INCLUDEPATH += "$${LIBPATH}/gsl/include"
LIBS += "$${LIBPATH}/gsl/lib/gsl.lib"
LIBS += "$${LIBPATH}/gsl/lib/gslcblas.lib"
}
}
}
mxe {
### Mingw cross compilation environment on Linux.
message(Build configuration: Mxe all static)
QMAKE_CXXFLAGS +=-g
DEFINES += CONSOLE
LIBS += -mwindows -lgsl -lgslcblas
# Qt libs specified here to get around a dependency bug in qmake
LIBS += -lQt6OpenGL -lQt6Gui -lQt6Widgets -lQt6Network -lQt6Core -lQt6Svg
LIBS += -lQt6PrintSupport -lQt6Xml -lQt6DataVisualization
LIBS += -lole32 -loleaut32 -limm32 -lcomdlg32 -luuid
LIBS += -lwinspool -lssl -lcrypto -lwinmm -lgdi32 -lws2_32
LIBS += -ljpeg -lpng -lmng -ltiff -llzma -llcms2
LIBS += -lopengl32 -lglu32
}