xref: /glogg/glogg.pro (revision 8fa6737cdaf2c9c70aac8a19f21ea10fbb676b3a)
1# -------------------------------------------------
2# glogg
3# -------------------------------------------------
4TARGET = glogg
5TEMPLATE = app
6
7win32:Debug:CONFIG += console
8# Necessary when cross-compiling:
9win32:Release:QMAKE_LFLAGS += "-Wl,-subsystem,windows"
10
11# Input
12SOURCES += main.cpp \
13    mainwindow.cpp \
14    crawlerwidget.cpp \
15    abstractlogdata.cpp \
16    logdata.cpp \
17    logfiltereddata.cpp \
18    abstractlogview.cpp \
19    logmainview.cpp \
20    filteredview.cpp \
21    optionsdialog.cpp \
22    configuration.cpp \
23    filtersdialog.cpp \
24    filterset.cpp \
25    savedsearches.cpp \
26    infoline.cpp \
27    logdataworkerthread.cpp \
28    logfiltereddataworkerthread.cpp \
29    filewatcher.cpp \
30    selection.cpp \
31    quickfind.cpp \
32    quickfindpattern.cpp \
33    quickfindwidget.cpp
34
35HEADERS += version.h \
36    mainwindow.h \
37    crawlerwidget.h \
38    logmainview.h \
39    log.h \
40    filteredview.h \
41    abstractlogdata.h \
42    logdata.h \
43    logfiltereddata.h \
44    abstractlogview.h \
45    optionsdialog.h \
46    configuration.h \
47    filtersdialog.h \
48    filterset.h \
49    savedsearches.h \
50    infoline.h \
51    logdataworkerthread.h \
52    logfiltereddataworkerthread.h \
53    filewatcher.h \
54    selection.h \
55    quickfind.h \
56    quickfindpattern.h \
57    quickfindwidget.h
58
59isEmpty(USE_NATIVE_BOOST) {
60    message(Building using static Boost libraries included in the tarball)
61
62    SOURCES += boost/libs/program_options/src/*.cpp \
63        boost/libs/detail/*.cpp \
64        boost/libs/smart_ptr/src/*.cpp
65
66    INCLUDEPATH += ./boost
67}
68else {
69    message(Building using native dynamic Boost libraries)
70    LIBS += -lboost_program_options -L$HOME/lib/
71}
72
73greaterThan(QT_VERSION, "4.4.0") {
74    FORMS += filtersdialog.ui
75}
76else {
77    message(Using old FiltersDialog)
78    FORMS += filtersdialog_old.ui
79}
80
81# For Windows icon
82RC_FILE = glogg.rc
83RESOURCES = glogg.qrc
84
85# Build HTML documentation (if 'markdown' is available)
86system(type markdown >/dev/null) {
87    MARKDOWN += doc/documentation.markdown
88}
89else {
90    message("markdown not found, HTML doc will not be generated")
91}
92
93doc_processor.name = markdown
94doc_processor.input = MARKDOWN
95doc_processor.output = doc/${QMAKE_FILE_BASE}.html
96doc_processor.commands = markdown ${QMAKE_FILE_NAME} | \
97    sed -f finish.sed >${QMAKE_FILE_OUT}
98
99doc_processor.CONFIG += target_predeps
100doc_processor.variable_out = doc.files
101
102QMAKE_EXTRA_COMPILERS += doc_processor
103
104# Install (for unix)
105icon16.path  = $$PREFIX/share/icons/hicolor/16x16/apps
106icon16.files = images/hicolor/16x16/glogg.png
107
108icon32.path  = $$PREFIX/share/icons/hicolor/32x32/apps
109icon32.files = images/hicolor/32x32/glogg.png
110
111doc.path  = $$PREFIX/share/doc/glogg
112doc.files += README COPYING
113
114desktop.path = $$PREFIX/share/applications
115desktop.files = glogg.desktop
116
117target.path = $$PREFIX/bin
118INSTALLS = target icon16 icon32 doc desktop
119
120# Build directories
121debug:OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared
122release:OBJECTS_DIR = $${OUT_PWD}/.obj/release-shared
123debug:MOC_DIR = $${OUT_PWD}/.moc/debug-shared
124release:MOC_DIR = $${OUT_PWD}/.moc/release-shared
125
126isEmpty(LOG_LEVEL) {
127    Release:DEFINES += FILELOG_MAX_LEVEL=\"logERROR\"
128    Debug:DEFINES += FILELOG_MAX_LEVEL=\"logDEBUG\"
129}
130else {
131    message("Using specified log level: $$LOG_LEVEL")
132    DEFINES += FILELOG_MAX_LEVEL=\"$$LOG_LEVEL\"
133}
134
135# Official builds can be generated with `qmake VERSION="1.2.3"'
136isEmpty(VERSION):system(date >/dev/null) {
137    system([ -f .tarball-version ]) {
138        QMAKE_CXXFLAGS += -DGLOGG_VERSION=\\\"`cat .tarball-version`\\\"
139    }
140    else {
141        QMAKE_CXXFLAGS += -DGLOGG_DATE=\\\"`date +'\"%F\"'`\\\"
142        QMAKE_CXXFLAGS += -DGLOGG_VERSION=\\\"`git describe`\\\"
143        QMAKE_CXXFLAGS += -DGLOGG_COMMIT=\\\"`git rev-parse --short HEAD`\\\"
144    }
145}
146else {
147    QMAKE_CXXFLAGS += -DGLOGG_VERSION=\\\"$$VERSION\\\"
148}
149
150