ktigcc.pro 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. TEMPLATE = app
  2. LANGUAGE = C++
  3. VERSION = 1.80
  4. CONFIG -= debug_and_release debug_and_release_target
  5. CONFIG += qt warn_on qdbus assistant
  6. !win32:CONFIG += debug
  7. QT += xml qt3support
  8. LIBS += -lktexteditor -lkutils -lkdeui -lkdecore -lkio -lkparts -lkde3support
  9. HEADERS += tpr.h \
  10. ktigcc.h \
  11. preferences.h \
  12. tiemu.h \
  13. tiemu_stub.h \
  14. callbacks.h \
  15. parsing.h \
  16. colorlistitem.h \
  17. completion.h \
  18. srcfilewin.h \
  19. projectoptions.h \
  20. programoptions.h \
  21. preferencesdlg.h \
  22. mainform.h \
  23. errorlist.h \
  24. programoutput.h \
  25. functions.h \
  26. newsdlg.h \
  27. toolsdlg.h \
  28. toolprops.h \
  29. selectstyle.h \
  30. selectcolors.h \
  31. customstyle.h \
  32. wordlist.h
  33. SOURCES += ktigcc.cpp \
  34. preferences.cpp \
  35. tpr.cpp \
  36. tiemu_stub.cpp \
  37. callbacks.cpp \
  38. parsing.cpp \
  39. completion.cpp \
  40. srcfilewin.cpp \
  41. projectoptions.cpp \
  42. programoptions.cpp \
  43. preferencesdlg.cpp \
  44. mainform.cpp \
  45. errorlist.cpp \
  46. programoutput.cpp \
  47. functions.cpp \
  48. newsdlg.cpp \
  49. toolsdlg.cpp \
  50. toolprops.cpp \
  51. selectstyle.cpp \
  52. selectcolors.cpp \
  53. customstyle.cpp \
  54. wordlist.cpp
  55. FORMS = srcfilewin.ui \
  56. projectoptions.ui \
  57. programoptions.ui \
  58. preferencesdlg.ui \
  59. mainform.ui \
  60. errorlist.ui \
  61. programoutput.ui \
  62. functions.ui \
  63. newsdlg.ui \
  64. toolsdlg.ui \
  65. toolprops.ui \
  66. selectstyle.ui \
  67. selectcolors.ui \
  68. customstyle.ui \
  69. wordlist.ui
  70. RESOURCES += icons.qrc
  71. # If this is not used, a build from /usr/.... will generate
  72. # Makefiles with relative paths for install. This totally
  73. # fucks up using INSTALL_ROOT for a staged install.
  74. # See http://bugs.debian.org/180240
  75. # (Thanks to Debian for the fix for this qmake stupidity.)
  76. QMAKE_PROJECT_DEPTH=1
  77. UI_DIR = .ui
  78. MOC_DIR = .moc
  79. OBJECTS_DIR = .obj
  80. win32 {
  81. KDEPREFIX = $$(KDEPREFIX)
  82. isEmpty(KDEPREFIX) {
  83. win32-cross-g++ {
  84. error(Please source cross-mingw32-ktigcc.sh to set up the cross-build environment.)
  85. } else {
  86. # Try running kde4-config, however chances are it's not in the path or it was compiled with a bad prefix.
  87. KDEPREFIX = $$system(kde4-config --prefix)
  88. isEmpty(KDEPREFIX):error(KDE 4 kdelibs not found, set KDEPREFIX.)
  89. !exists($$KDEPREFIX):error(KDE 4 kdelibs not found, set KDEPREFIX.)
  90. }
  91. }
  92. KDEINCDIR = $$KDEPREFIX/include
  93. # $$KDEINCDIR/mingw contains the kdewin32 headers, defining stuff like mkdtemp.
  94. INCLUDEPATH += $$KDEINCDIR/mingw $$KDEINCDIR
  95. LIBS += -lkdewin32
  96. QMAKE_LIBDIR = $$KDEPREFIX/lib $$QMAKE_LIBDIR
  97. } else {
  98. KDEPREFIX = $$system(kde4-config --prefix)
  99. isEmpty(KDEPREFIX):error(KDE 4 kdelibs required.)
  100. exists($$KDEPREFIX/include/kde4/KDE) {
  101. KDEINCDIR = $$KDEPREFIX/include/kde4
  102. } else:exists($$KDEPREFIX/include/kde/KDE) {
  103. KDEINCDIR = $$KDEPREFIX/include/kde
  104. } else {
  105. KDEINCDIR = $$KDEPREFIX/include
  106. }
  107. INCLUDEPATH += $$KDEINCDIR
  108. KDELIBDIR = $$KDEPREFIX/lib$$system(kde4-config --libsuffix)
  109. KDEDEVELLIBDIR = $$KDELIBDIR
  110. exists($$KDEDEVELLIBDIR/kde4/devel) {
  111. KDEDEVELLIBDIR = $$KDEDEVELLIBDIR/kde4/devel
  112. }
  113. !equals(KDEDEVELLIBDIR,/usr/lib):!equals(KDEDEVELLIBDIR,/usr/lib64) {
  114. QMAKE_LIBDIR = $$KDEDEVELLIBDIR $$QMAKE_LIBDIR
  115. }
  116. !equals(KDELIBDIR,/usr/lib):!equals(KDELIBDIR,/usr/lib64) {
  117. !darwin-*:!macx-* {
  118. LIBS += -Wl,--rpath,"$$KDELIBDIR"
  119. }
  120. }
  121. }
  122. GLIB2_MINVERSION = 2.0.0
  123. HAVE_GLIB2 = $$system(pkg-config --atleast-version=$$GLIB2_MINVERSION glib-2.0 && echo yes || echo no)
  124. !equals(HAVE_GLIB2,yes):error(glib2 $$GLIB2_MINVERSION or higher required.)
  125. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags glib-2.0)
  126. LIBS += $$system(pkg-config --libs glib-2.0)
  127. TICONV_MINVERSION = 0.0.1
  128. HAVE_TICONV = $$system(pkg-config --atleast-version=$$TICONV_MINVERSION ticonv && echo yes || echo no)
  129. !equals(HAVE_TICONV,yes):error(libticonv $$TICONV_MINVERSION or higher required.)
  130. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags ticonv)
  131. LIBS += $$system(pkg-config --libs ticonv)
  132. TICABLES_MINVERSION = 0.1.3
  133. HAVE_TICABLES = $$system(pkg-config --atleast-version=$$TICABLES_MINVERSION ticables2 && echo yes || echo no)
  134. !equals(HAVE_TICABLES,yes):error(libticables2 $$TICABLES_MINVERSION or higher required.)
  135. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags ticables2)
  136. LIBS += $$system(pkg-config --libs ticables2)
  137. TIFILES_MINVERSION = 0.0.9
  138. HAVE_TIFILES = $$system(pkg-config --atleast-version=$$TIFILES_MINVERSION tifiles2 && echo yes || echo no)
  139. !equals(HAVE_TIFILES,yes):error(libtifiles2 $$TIFILES_MINVERSION or higher required.)
  140. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags tifiles2)
  141. LIBS += $$system(pkg-config --libs tifiles2)
  142. TICALCS_MINVERSION = 0.2.4
  143. HAVE_TICALCS = $$system(pkg-config --atleast-version=$$TICALCS_MINVERSION ticalcs2 && echo yes || echo no)
  144. !equals(HAVE_TICALCS,yes):error(libticalcs2 $$TICALCS_MINVERSION or higher required.)
  145. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags ticalcs2)
  146. LIBS += $$system(pkg-config --libs ticalcs2)
  147. isEmpty(PREFIX) {
  148. PREFIX = $$(PREFIX)
  149. }
  150. isEmpty(PREFIX) {
  151. PREFIX = /usr/local
  152. }
  153. target.path = $$PREFIX/bin
  154. documentation.path = $$PREFIX/share/doc/ktigcc
  155. documentation.files = COPYING NEWS ChangeLog
  156. INSTALLS += target documentation
  157. isEmpty(CXXFLAGS) {
  158. CXXFLAGS = $$(CXXFLAGS)
  159. }
  160. isEmpty(CXXFLAGS) {
  161. debug {
  162. CXXFLAGS = -Os -g
  163. } else {
  164. CXXFLAGS = -Os -s -fomit-frame-pointer
  165. }
  166. }
  167. *-g++*:CXXFLAGS += -DHAVE_STDINT_H
  168. QMAKE_CXXFLAGS_DEBUG = $$CXXFLAGS -Wno-non-virtual-dtor $$PKGCONFIG_CFLAGS
  169. QMAKE_CXXFLAGS_RELEASE = $$CXXFLAGS -Wno-non-virtual-dtor $$PKGCONFIG_CFLAGS
  170. QMAKE_LFLAGS_RELEASE = -s
  171. DISTFILES += $${documentation.files} INSTALL configure KTIGCC.anjuta fedora/ktigcc.spec images/*.png images/copyright.txt mingw/cross-mingw32-ktigcc.sh mingw/mkspecs/win32-cross-g++/qmake.conf mingw/mkspecs/win32-cross-g++/qplatformdefs.h
  172. distbz2.target = dist-bzip2
  173. distbz2.commands = $(MKDIR) .obj/ktigcc-$$VERSION && $(COPY_FILE) -p --parents ktigcc.pro $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$DISTFILES $$OBJECTS_DIR/ktigcc-$$VERSION/ && (cd $$OBJECTS_DIR && $(TAR) ktigcc-$${VERSION}.tar.bz2 -j ktigcc-$$VERSION) && $(MOVE) $$OBJECTS_DIR/ktigcc-$${VERSION}.tar.bz2 . && $(DEL_FILE) -r $$OBJECTS_DIR/ktigcc-$$VERSION
  174. rpm.target = rpm
  175. rpm.commands = rpmbuild -ta ktigcc-$${VERSION}.tar.bz2
  176. rpm.depends = distbz2
  177. QMAKE_EXTRA_UNIX_TARGETS += distbz2 rpm