ktigcc.pro 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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. !equals(KDELIBDIR,/usr/lib):!equals(KDELIBDIR,/usr/lib64) {
  110. QMAKE_LIBDIR = $$KDELIBDIR $$QMAKE_LIBDIR
  111. !darwin-*:!macx-* {
  112. LIBS += -Wl,--rpath,"$$KDELIBDIR"
  113. }
  114. }
  115. }
  116. GLIB2_MINVERSION = 2.0.0
  117. HAVE_GLIB2 = $$system(pkg-config --atleast-version=$$GLIB2_MINVERSION glib-2.0 && echo yes || echo no)
  118. !equals(HAVE_GLIB2,yes):error(glib2 $$GLIB2_MINVERSION or higher required.)
  119. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags glib-2.0)
  120. LIBS += $$system(pkg-config --libs glib-2.0)
  121. TICONV_MINVERSION = 0.0.1
  122. HAVE_TICONV = $$system(pkg-config --atleast-version=$$TICONV_MINVERSION ticonv && echo yes || echo no)
  123. !equals(HAVE_TICONV,yes):error(libticonv $$TICONV_MINVERSION or higher required.)
  124. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags ticonv)
  125. LIBS += $$system(pkg-config --libs ticonv)
  126. TICABLES_MINVERSION = 0.1.3
  127. HAVE_TICABLES = $$system(pkg-config --atleast-version=$$TICABLES_MINVERSION ticables2 && echo yes || echo no)
  128. !equals(HAVE_TICABLES,yes):error(libticables2 $$TICABLES_MINVERSION or higher required.)
  129. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags ticables2)
  130. LIBS += $$system(pkg-config --libs ticables2)
  131. TIFILES_MINVERSION = 0.0.9
  132. HAVE_TIFILES = $$system(pkg-config --atleast-version=$$TIFILES_MINVERSION tifiles2 && echo yes || echo no)
  133. !equals(HAVE_TIFILES,yes):error(libtifiles2 $$TIFILES_MINVERSION or higher required.)
  134. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags tifiles2)
  135. LIBS += $$system(pkg-config --libs tifiles2)
  136. TICALCS_MINVERSION = 0.2.4
  137. HAVE_TICALCS = $$system(pkg-config --atleast-version=$$TICALCS_MINVERSION ticalcs2 && echo yes || echo no)
  138. !equals(HAVE_TICALCS,yes):error(libticalcs2 $$TICALCS_MINVERSION or higher required.)
  139. PKGCONFIG_CFLAGS += $$system(pkg-config --cflags ticalcs2)
  140. LIBS += $$system(pkg-config --libs ticalcs2)
  141. TIGCC = $$(TIGCC)
  142. isEmpty(TIGCC) {
  143. TIGCC = /usr/local/tigcc
  144. }
  145. target.path = $$TIGCC/bin
  146. documentation.path = $$TIGCC/doc/ktigcc
  147. documentation.files = COPYING NEWS ChangeLog
  148. INSTALLS += target documentation
  149. CXXFLAGS = $$(CXXFLAGS)
  150. isEmpty(CXXFLAGS) {
  151. debug {
  152. CXXFLAGS = -Os -g
  153. } else {
  154. CXXFLAGS = -Os -s -fomit-frame-pointer
  155. }
  156. }
  157. *-g++*:CXXFLAGS += -DHAVE_STDINT_H
  158. QMAKE_CXXFLAGS_DEBUG = $$CXXFLAGS -Wno-non-virtual-dtor $$PKGCONFIG_CFLAGS
  159. QMAKE_CXXFLAGS_RELEASE = $$CXXFLAGS -Wno-non-virtual-dtor $$PKGCONFIG_CFLAGS
  160. QMAKE_LFLAGS_RELEASE = -s
  161. 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
  162. distbz2.target = dist-bzip2
  163. 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
  164. rpm.target = rpm
  165. rpm.commands = rpmbuild -ta ktigcc-$${VERSION}.tar.bz2
  166. rpm.depends = distbz2
  167. QMAKE_EXTRA_UNIX_TARGETS += distbz2 rpm