The use of the SQL parser is optional but the SQLParser header is included unconditionally in e.g. the Statement.h header.
This is problematic as SQLParser.h itself includes
|
#include "sql-parser/src/SQLParser.h" |
|
#include "sql-parser/src/SQLParserResult.h" |
|
#include "sql-parser/src/util/sqlhelper.h" |
but these are only considered if the parser is active
|
if (NOT POCO_DATA_NO_SQL_PARSER) |
|
file(GLOB_RECURSE SRCS_PARSER "src/sql-parser/src/*.cpp") |
|
LIST(REMOVE_ITEM SRCS_PARSER "${CMAKE_CURRENT_SOURCE_DIR}/src/sql-parser/src/parser/conflict_test.cpp") |
|
POCO_SOURCES_AUTO(SRCS ${SRCS_PARSER}) |
|
endif() |
and thus these don't end up getting installed along the other stuff if the parser is disabled. However, as soon as that happens compilation fails as the parser's header includes these non-existent files.
Therefore, I think it would probably make sense to add some conditional including at some point. Most logical to me would seem to guard the includes of SQLParser.h itself.
The use of the SQL parser is optional but the
SQLParserheader is included unconditionally in e.g. theStatement.hheader.This is problematic as
SQLParser.hitself includespoco/Data/include/Poco/Data/SQLParser.h
Lines 26 to 28 in 48d7a3e
but these are only considered if the parser is active
poco/Data/CMakeLists.txt
Lines 4 to 8 in 48d7a3e
and thus these don't end up getting installed along the other stuff if the parser is disabled. However, as soon as that happens compilation fails as the parser's header includes these non-existent files.
Therefore, I think it would probably make sense to add some conditional including at some point. Most logical to me would seem to guard the includes of
SQLParser.hitself.