enh: lemon
This commit is contained in:
parent
02ed4f457d
commit
7085e25388
|
@ -0,0 +1,10 @@
|
|||
# lemon
|
||||
ExternalProject_Add(
|
||||
lemon
|
||||
URL https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=release
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ${CMAKE_C_COMPILER} -o ${TD_CONTRIB_DIR}/deps-download/lemon-prefix/src/lemon-build/lemon ${TD_CONTRIB_DIR}/deps-download/lemon-prefix/src/lemon/tool/lemon.c
|
||||
INSTALL_COMMAND cp ${TD_CONTRIB_DIR}/deps-download/lemon-prefix/src/lemon-build/lemon ${CMAKE_BINARY_DIR}/bin/lemon
|
||||
INSTALL_COMMAND cp ${TD_CONTRIB_DIR}/deps-download/lemon-prefix/src/lemon/tool/lempar.c ${CMAKE_BINARY_DIR}/bin/lempar.c
|
||||
BUILD_IN_SOURCE 1
|
||||
)
|
|
@ -184,6 +184,9 @@ if(${BUILD_PCRE2})
|
|||
cat("${TD_SUPPORT_DIR}/pcre2_CMakeLists.txt.in" ${CONTRIB_TMP_FILE})
|
||||
endif()
|
||||
|
||||
# lemon
|
||||
cat("${TD_SUPPORT_DIR}/lemon_CMakeLists.txt.in" ${CONTRIB_TMP_FILE})
|
||||
|
||||
# download dependencies
|
||||
configure_file(${CONTRIB_TMP_FILE} "${TD_CONTRIB_DIR}/deps-download/CMakeLists.txt")
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
||||
|
|
|
@ -4,7 +4,26 @@ IF(TD_ENTERPRISE)
|
|||
LIST(APPEND PARSER_SRC ${TD_ENTERPRISE_DIR}/src/plugins/view/src/parserView.c)
|
||||
ENDIF()
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${TD_SOURCE_DIR}/source/libs/parser/src/sql.c
|
||||
COMMAND echo "Running lemon process in ${TD_SOURCE_DIR}/source/libs/parser/inc"
|
||||
COMMAND ${CMAKE_BINARY_DIR}/bin/lemon sql.y || true
|
||||
COMMAND echo "copy sql.c from ${TD_SOURCE_DIR}/source/libs/parser/inc/sql.c to ${TD_SOURCE_DIR}/source/libs/parser/src/"
|
||||
COMMAND cp ${TD_SOURCE_DIR}/source/libs/parser/inc/sql.c ${TD_SOURCE_DIR}/source/libs/parser/src/
|
||||
COMMAND echo "lemon process completed."
|
||||
DEPENDS ${TD_SOURCE_DIR}/source/libs/parser/inc/sql.y
|
||||
WORKING_DIRECTORY ${TD_SOURCE_DIR}/source/libs/parser/inc
|
||||
COMMENT "Generating sql.c using lemon"
|
||||
)
|
||||
|
||||
add_custom_target(lemon_target
|
||||
DEPENDS ${TD_SOURCE_DIR}/source/libs/parser/src/sql.c
|
||||
)
|
||||
|
||||
list(APPEND PARSER_SRC ${TD_SOURCE_DIR}/source/libs/parser/src/sql.c)
|
||||
|
||||
add_library(parser STATIC ${PARSER_SRC})
|
||||
add_dependencies(parser lemon_target)
|
||||
target_include_directories(
|
||||
parser
|
||||
PUBLIC "${TD_SOURCE_DIR}/include/libs/parser"
|
||||
|
|
Loading…
Reference in New Issue