summaryrefslogtreecommitdiffstats
path: root/Rules.mk
diff options
context:
space:
mode:
authorGravatar Thiago Macieira <thiago@macieira.org>2013-05-09 12:18:02 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-05-09 18:20:34 -0700
commitaea8493165a98d1653c7adf475ca2267d505bfe8 (patch)
tree9312d376b032e93aac8aa9e5949971382ccb71ed /Rules.mk
parent45afd712e81910cd1995f64ea605ef0b4a114ede (diff)
downloadsubsurface-aea8493165a98d1653c7adf475ca2267d505bfe8.tar.gz
Add a make rule (creator-files) that creates files for using Qt Creator
Qt Creator cannot import Subsurface directly because our buildsystem is not any of the three that it understands (qmake, cmake, autotools). So, instead, we can create the files Creator uses for "Other Project" projects. The files are: - subsurface.config: the #defines from the command line (-D args) - subsurface.creator: an XDG Desktop-style file with Creator settings - subsurface.files: the list of source and header files - subsurface.includes: the include paths (-I args) They are also added to .gitignore, alongside the *.user file that Creator uses to store per-user settings (editor configuration). Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'Rules.mk')
-rw-r--r--Rules.mk16
1 files changed, 16 insertions, 0 deletions
diff --git a/Rules.mk b/Rules.mk
index 8dc95c08d..c0ef1ee9e 100644
--- a/Rules.mk
+++ b/Rules.mk
@@ -38,6 +38,9 @@ MOC_OBJS = $(HEADERS_NEEDING_MOC:.h=.moc.o)
ALL_OBJS = $(OBJS) $(MOC_OBJS)
+# Files for using Qt Creator
+CREATOR_FILES = subsurface.config subsurface.creator subsurface.files subsurface.includes
+
all: $(NAME)
$(NAME): gen_version_file $(ALL_OBJS) $(MSGOBJS) $(INFOPLIST)
@@ -219,6 +222,19 @@ confclean: clean
rm -rf .dep
distclean: confclean
+ rm -f $(CREATOR_FILES)
+
+.PHONY: creator-files
+creator-files: $(CREATOR_FILES)
+subsurface.files: Makefile $(CONFIGFILE)
+ echo $(wildcard *.h) $(HEADERS) $(SOURCES) | tr ' ' '\n' | sort | uniq > subsurface.files
+subsurface.config: Makefile $(CONFIGFILE)
+ echo $(patsubst -D%,%,$(filter -D%, $(CXXFLAGS) $(CFLAGS) $(EXTRA_FLAGS))) | tr ' ' '\n' | sort | uniq > subsurface.config
+subsurface.includes: Makefile $(CONFIGFILE)
+ echo $$PWD > subsurface.includes
+ echo $(patsubst -I%,%,$(filter -I%, $(CXXFLAGS) $(CFLAGS) $(EXTRA_FLAGS))) | tr ' ' '\n' | sort | uniq >> subsurface.includes
+subsurface.creator:
+ echo '[General]' > subsurface.creator
ifneq ($(CONFIGURED)$(CONFIGURING),)
.dep/%.o.dep: %.cpp