mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
* Added explicit path to the lib/ folder. * Added use_zlib() function to the cmake files. Changed the remaining cmake files to use POL_EXT_LIB_DIR. * Removed relative path to zlib. It seems we were always using our zlib header (even when linking to the system zlib on linux!).
47 lines
1.9 KiB
CMake
47 lines
1.9 KiB
CMake
find_package(Java QUIET COMPONENTS Runtime)
|
|
|
|
if(NOT ANTLR_EXECUTABLE)
|
|
find_program(ANTLR_EXECUTABLE
|
|
NAMES antlr.jar antlr4.jar antlr-4.jar antlr-4.8-complete.jar
|
|
)
|
|
endif()
|
|
if(Java_JAVA_EXECUTABLE AND ANTLR_EXECUTABLE)
|
|
message("adding target 'escriptgrammar'")
|
|
add_custom_target(escriptgrammar
|
|
COMMAND ${Java_JAVA_EXECUTABLE} -jar ${ANTLR_EXECUTABLE}
|
|
-Dlanguage=Cpp -package EscriptGrammar
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptLexer.g4
|
|
-o ${POL_EXT_LIB_DIR}/EscriptGrammar
|
|
# You'll have to qualify the namespace antlr4::TokenStream
|
|
# in the EscriptParser constructor when regenerating.
|
|
COMMAND ${Java_JAVA_EXECUTABLE} -jar ${ANTLR_EXECUTABLE}
|
|
-Dlanguage=Cpp -visitor -package EscriptGrammar
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptParser.g4
|
|
-o ${POL_EXT_LIB_DIR}/EscriptGrammar
|
|
COMMENT "Generating grammar files"
|
|
)
|
|
endif()
|
|
|
|
#fake target for vstudio gui
|
|
add_custom_target(escriptfiles
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
VERBATIM
|
|
SOURCES
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptParser.g4
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptParser.h
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptParser.cpp
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptLexer.g4
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptLexer.h
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptLexer.cpp
|
|
)
|
|
source_group(escriptgrammar FILES
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptParser.g4
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptParser.h
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptParser.cpp
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptLexer.g4
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptLexer.h
|
|
${POL_EXT_LIB_DIR}/EscriptGrammar/EscriptLexer.cpp
|
|
)
|
|
set_target_properties(escriptfiles PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
set_target_properties(escriptfiles PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE)
|
|
set_target_properties(escriptfiles PROPERTIES FOLDER Grammar)
|