Fix cmake race condition during clean, fix path from antlr generated code
Signed-off-by: Alain <alainmarcel@yahoo.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4b26a30..963cb03 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -76,20 +76,19 @@
enable_testing()
#add_test(NAME GenerateFromGrammar COMMAND ${Java_JAVA_EXECUTABLE} org.antlr.v4.Tool -Dlanguage=Cpp *.g4)
-add_custom_target(CreateDirectories)
+add_custom_target(GenerateParser DEPENDS ${PROJECT_SOURCE_DIR}/src/parser/dummy1 ${PROJECT_SOURCE_DIR}/src/SourceCompile/dummy2)
-add_custom_target(GenerateParser ALL DEPENDS ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aPpParser.cpp ${PROJECT_SOURCE_DIR}/src/SourceCompile/VObjectTypes.cpp)
-
-add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aPpParser.cpp
+add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/src/parser/dummy1
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/grammar/"
COMMAND echo " Parser Generation..."
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/src/parser/
COMMAND java -jar ${ANTLR_JAR_LOCATION} -Werror -Dlanguage=Cpp -o ${PROJECT_SOURCE_DIR}/src/parser/ SV3_1aPpLexer.g4 SV3_1aLexer.g4 SV3_1aSplitterLexer.g4 SV3_1aPpParser.g4 SV3_1aParser.g4 SV3_1aSplitterParser.g4
DEPENDS ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterParser.g4
+ COMMAND touch ${PROJECT_SOURCE_DIR}/src/parser/dummy1
COMMAND echo " Parser Generated."
)
-add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/src/SourceCompile/VObjectTypes.cpp
+add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/src/SourceCompile/dummy2
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/src/"
COMMAND echo " Serializer, Parser Listener, code generation..."
COMMAND SourceCompile/generate_parser_listener.tcl ;
@@ -97,8 +96,9 @@
COMMAND echo " Python API Generation..."
COMMAND ${SWIG_EXECUTABLE} -c++ -python -o API/slapi_wrap.cxx API/slapi.i ;
COMMAND API/embed_python_api.tcl
+ COMMAND touch ${PROJECT_SOURCE_DIR}/src/SourceCompile/dummy2
COMMAND echo " Code Generation completed"
- DEPENDS ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterParser.g4 ${PROJECT_SOURCE_DIR}/src/API/slapi.i ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aPpParser.cpp
+ DEPENDS ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterParser.g4 ${PROJECT_SOURCE_DIR}/src/API/slapi.i ${PROJECT_SOURCE_DIR}/src/parser/dummy1
)
include_directories(${PROJECT_SOURCE_DIR}/src)