From 38e92610961cc2276c5fe0ff31ad4f776a1b1b58 Mon Sep 17 00:00:00 2001
From: ilor <kailoran@gmail.com>
Date: Mon, 8 Nov 2010 14:05:03 +0100
Subject: [PATCH] tweak parser cmakeification to work in out-of-source builds

---
 libwccl/CMakeLists.txt             | 14 +++++++++-----
 libwccl/parser/Parser.cpp          |  2 +-
 libwccl/parser/Parser.h            |  2 +-
 libwccl/parser/ParserException.cpp |  2 +-
 libwccl/parser/grammar.g           |  2 +-
 5 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/libwccl/CMakeLists.txt b/libwccl/CMakeLists.txt
index db4268a..338182f 100644
--- a/libwccl/CMakeLists.txt
+++ b/libwccl/CMakeLists.txt
@@ -33,14 +33,18 @@ SET(libwccl_STAT_SRC
 )
 
 SET(libwccl_STAT_SRC ${libwccl_STAT_SRC}
-	parser/ANTLRLexer.cpp
-	parser/ANTLRParser.cpp
+	${PROJECT_BINARY_DIR}/parser/ANTLRLexer.cpp
+	${PROJECT_BINARY_DIR}/parser/ANTLRParser.cpp
 )
 
+include_directories(${PROJECT_BINARY_DIR}/parser)
+
 ADD_CUSTOM_COMMAND(
-	OUTPUT parser/ANTLRLexer.cpp parser/ANTLRLexer.hpp parser/ANTLRParser.cpp parser/ANTLRParser.hpp parser/ANTLRExprTokenTypes.hpp parser/ANTLRExprTokenTypes.txt 
-	COMMAND runantlr -o parser parser/grammar.g
-	DEPENDS parser/grammar.g
+	OUTPUT parser/ANTLRLexer.cpp parser/ANTLRLexer.hpp parser/ANTLRParser.cpp
+		parser/ANTLRParser.hpp parser/ANTLRExprTokenTypes.hpp
+		parser/ANTLRExprTokenTypes.txt
+	COMMAND runantlr -o parser ${PROJECT_SOURCE_DIR}/parser/grammar.g
+	DEPENDS ${PROJECT_SOURCE_DIR}/parser/grammar.g
 	COMMENT "-- Generating parser/ANTLRLexer.cpp parser/ANTLRLexer.hpp parser/ANTLRExprTokenTypes.hpp parser/ANTLRExprTokenTypes.txt parser/ANTLRParser.cpp parser/ANTLRParser.hpp")
 
 file(GLOB_RECURSE INCS "*.h")
diff --git a/libwccl/parser/Parser.cpp b/libwccl/parser/Parser.cpp
index 3fedb78..067aeb0 100644
--- a/libwccl/parser/Parser.cpp
+++ b/libwccl/parser/Parser.cpp
@@ -1,4 +1,4 @@
-#include "Parser.h"
+#include <libwccl/parser/Parser.h>
 
 /**
  * @desc Parser constructor. Default tagset is NULL
diff --git a/libwccl/parser/Parser.h b/libwccl/parser/Parser.h
index 08b06c3..a8b218b 100644
--- a/libwccl/parser/Parser.h
+++ b/libwccl/parser/Parser.h
@@ -7,7 +7,7 @@
 #include "ANTLRLexer.hpp"
 #include "ANTLRParser.hpp"
 
-#include "ParserException.h"
+#include <libwccl/parser/ParserException.h>
 
 // <libwccl>
 
diff --git a/libwccl/parser/ParserException.cpp b/libwccl/parser/ParserException.cpp
index 48aca90..b2ca366 100644
--- a/libwccl/parser/ParserException.cpp
+++ b/libwccl/parser/ParserException.cpp
@@ -1,4 +1,4 @@
-#include "ParserException.h"
+#include <libwccl/parser/ParserException.h>
 
 ParserException::ParserException(std::string msg)
 {
diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g
index b768eff..cbbe0bd 100644
--- a/libwccl/parser/grammar.g
+++ b/libwccl/parser/grammar.g
@@ -1,5 +1,5 @@
 header {
-	#include "ParserException.h"
+	#include <libwccl/parser/ParserException.h>
 
 	// libwccl
 
-- 
GitLab