1TEMPLATE = app
2QT += widgets
3
4CONFIG(debug, debug|release) {
5	CONFIG += warn_on
6	DEFINES += QT_DEPRECATED_WARNINGS
7	DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000
8	DEFINES += QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
9}
10
11# Add dependencies
12macx {
13	LIBS += -lz
14} else:win32 {
15	LIBS += -lz
16} else:unix {
17	CONFIG += link_pkgconfig
18	PKGCONFIG += zlib
19}
20
21# Allow in-tree builds
22MOC_DIR = ../build
23OBJECTS_DIR = ../build
24RCC_DIR = ../build
25
26# Set program version
27VERSION = 1.6.0
28DEFINES += VERSIONSTR=\\\"$${VERSION}\\\"
29
30# Set program name
31unix:!macx {
32	TARGET = tanglet
33} else {
34	TARGET = Tanglet
35}
36DESTDIR = ..
37
38# Specify program sources
39HEADERS += beveled_rect.h \
40	board.h \
41	clock.h \
42	generator.h \
43	gzip.h \
44	language_dialog.h \
45	language_settings.h \
46	locale_dialog.h \
47	letter.h \
48	new_game_dialog.h \
49	scores_dialog.h \
50	solver.h \
51	trie.h \
52	view.h \
53	window.h \
54	word_counts.h \
55	word_tree.h
56
57SOURCES += beveled_rect.cpp \
58	board.cpp \
59	clock.cpp \
60	generator.cpp \
61	gzip.cpp \
62	language_dialog.cpp \
63	language_settings.cpp \
64	locale_dialog.cpp \
65	letter.cpp \
66	new_game_dialog.cpp \
67	main.cpp \
68	scores_dialog.cpp \
69	solver.cpp \
70	trie.cpp \
71	view.cpp \
72	window.cpp \
73	word_counts.cpp \
74	word_tree.cpp
75
76# Generate translations
77TRANSLATIONS = $$files(../translations/tanglet_*.ts)
78qtPrepareTool(LRELEASE, lrelease)
79updateqm.input = TRANSLATIONS
80updateqm.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.qm
81updateqm.commands = $$LRELEASE -silent ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
82updateqm.CONFIG += no_link target_predeps
83QMAKE_EXTRA_COMPILERS += updateqm
84
85# Install program data
86RESOURCES = ../icons/icons.qrc
87
88macx {
89	ICON = ../icons/tanglet.icns
90
91	GAME_DATA.files = ../data
92	GAME_DATA.path = Contents/Resources/data/
93
94	QMAKE_BUNDLE_DATA += GAME_DATA
95} else:win32 {
96	RC_ICONS = ../icons/tanglet.ico
97	QMAKE_TARGET_DESCRIPTION = "Word finding game"
98	QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2021 Graeme Gott"
99} else:unix {
100	RESOURCES += ../icons/icon.qrc
101
102	isEmpty(PREFIX) {
103		PREFIX = /usr/local
104	}
105	isEmpty(BINDIR) {
106		BINDIR = bin
107	}
108
109	target.path = $$PREFIX/$$BINDIR/
110
111	data.files = $$files(../data/*)
112	data.path = $$PREFIX/share/tanglet/data/
113
114	icon.files = ../icons/hicolor/*
115	icon.path = $$PREFIX/share/icons/hicolor/
116
117	pixmap.files = ../icons/tanglet.xpm
118	pixmap.path = $$PREFIX/share/pixmaps/
119
120	mime.files = ../icons/tanglet.xml
121	mime.path = $$PREFIX/share/mime/packages/
122
123	desktop.files = ../icons/tanglet.desktop
124	desktop.path = $$PREFIX/share/applications/
125
126	appdata.files = ../icons/tanglet.appdata.xml
127	appdata.path = $$PREFIX/share/metainfo/
128
129	qm.files = $$replace(TRANSLATIONS, .ts, .qm)
130	qm.path = $$PREFIX/share/tanglet/translations
131	qm.CONFIG += no_check_exist
132
133	man.files = ../doc/tanglet.6
134	man.path = $$PREFIX/man/man6
135
136	INSTALLS += target icon pixmap mime desktop appdata data qm man
137}
138