aboutsummaryrefslogtreecommitdiff
path: root/pm.pro
blob: 98b1f89af26736fc1bac93acbe8f5f5e40f28e6e (plain)
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
QT += qml quick widgets

CONFIG += qt debug

win32 {
    ARMADILLO_DIR = "C:\Armadillo"

    QMAKE_LIBDIR += "$$ARMADILLO_DIR\lib"
    DEFINES += ARMA_USE_LAPACK ARMA_USE_BLAS
    INCLUDEPATH += "$$ARMADILLO_DIR\include"
    LIBS += -llapack_win64_MT -lblas_win64_MT
}

msvc:QMAKE_CXXFLAGS += /openmp

unix {
    QMAKE_CXXFLAGS += -std=c++11 -fopenmp
    LIBS += -larmadillo -fopenmp
}

HEADERS += main.h \
    colorscale.h \
    continuouscolorscale.h \
    divergentcolorscale.h \
    geometry.h \
    scale.h \
    scatterplot.h \
    voronoisplat.h \
    colormap.h \
    historygraph.h \
    barchart.h \
    transitioncontrol.h \
    transitionworkerthread.h \
    manipulationhandler.h \
    mapscalehandler.h \
    numericrange.h \
    selectionhandler.h \
    brushinghandler.h \
    projectionhistory.h \
    skelft.h \
    skelftkernel.h \
    mp.h

SOURCES += main.cpp \
    colorscale.cpp \
    continuouscolorscale.cpp \
    divergentcolorscale.cpp \
    geometry.cpp \
    scatterplot.cpp \
    voronoisplat.cpp \
    colormap.cpp \
    historygraph.cpp \
    barchart.cpp \
    transitioncontrol.cpp \
    transitionworkerthread.cpp \
    manipulationhandler.cpp \
    mapscalehandler.cpp \
    selectionhandler.cpp \
    brushinghandler.cpp \
    projectionhistory.cpp \
    skelft_core.cpp \
    lamp.cpp \
    plmp.cpp \
    knn.cpp \
    forcescheme.cpp \
    measures.cpp \
    dist.cpp

OTHER_FILES += skelft.cu

# CUDA settings
CUDA_SOURCES += skelft.cu
CUDA_ARCH = sm_30
NVCC_LIBS = -lcuda -lcudart
NVCC_OPTIONS += --use_fast_math

win32 {
    CUDA_DIR = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5"
    CUDA_INCLUDEPATH += $$shell_quote($$CUDA_DIR\include)
    NVCC = $$CUDA_DIR\bin\nvcc
    QMAKE_LIBDIR += "$$CUDA_DIR\lib\x64"
    LIBS += cuda.lib cudart.lib
}

unix {
    CUDA_DIR = "/opt/cuda"
    CUDA_INCLUDEPATH += $$CUDA_DIR/include
    NVCC = $$CUDA_DIR/bin/nvcc
    QMAKE_LIBDIR += $$CUDA_DIR/lib64
    LIBS += $$NVCC_LIBS
}

#macx {
#    CUDA_DIR = "/Developer/GPU Computing"
#    CUDA_INCLUDEPATH += $$shell_quote($$CUDA_DIR/shared/inc)
#    CUDA_INCLUDEPATH += $$shell_quote($$CUDA_DIR/C/common/inc)
#    NVCC = /usr/local/cuda/bin/nvcc
#    QMAKE_LIBDIR += $$CUDA_DIR/CUDALibraries/common/lib
#    LIBS += $$NVCC_LIBS
#}

NVCC_INCS = $$join(CUDA_INCLUDEPATH, " -I", "-I", "")
SYSTEM_TYPE = 64

CONFIG(debug, debug|release) {
    # msvc: use /MDd, just as Qt does
    msvc:NVCC_OPTIONS += -Xcompiler "/MDd"

    cuda_dbg.input = CUDA_SOURCES
    cuda_dbg.output = ${QMAKE_FILE_BASE}_cuda.o
    cuda_dbg.commands = $$NVCC -D_DEBUG -g $$NVCC_OPTIONS $$NVCC_INCS $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
    cuda_dbg.dependency_type = TYPE_C
    QMAKE_EXTRA_COMPILERS += cuda_dbg
} else {
    # msvc: use /MD, just as Qt does
    msvc:NVCC_OPTIONS += -Xcompiler "/MD"

    cuda.input = CUDA_SOURCES
    cuda.output = ${QMAKE_FILE_BASE}_cuda.o
    cuda.commands = $NVCC $$NVCC_OPTIONS $$NVCC_INCS $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
    cuda.dependency_type = TYPE_C
    QMAKE_EXTRA_COMPILERS += cuda
}

RESOURCES += pm.qrc

target.path = .
INSTALLS += target