summaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--.gitignore5
-rw-r--r--Rules.mk16
2 files changed, 21 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 5a90c6d4e..0d488491e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,8 @@ packaging/windows/subsurface.nsi
packaging/macos/Info.plist
config.cache
*.qrc.cpp
+/subsurface.config
+/subsurface.creator
+/subsurface.creator.user
+/subsurface.files
+/subsurface.includes
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