and cmake was not "printing wrong information about variable CONNECT_JDBC", there is no variable CONNECT_JDBC. There is a user-configurable setting CONNECT_WITH_JDBC which convey's user intention to enable the feature. It is ON by default. And there's a feature tag CONNECT_JDBC that shows in the summary whether the feature was actually enabled.
As such there's no bug here, so reverting.
If you want CONNECT_WITH_JDBC=ON to mean "absolutely enable JDBC or abort", then you cannot have it ON by default. Then you change CONNECT_WITH_JDBC to be a 3-value variable ON/OFF/AUTO with the default to AUTO. We have many variables like that: WITH_NUMA, MYSQL_MAINTAINER_MODE, ENABLED_LOCAL_INFILE, WITH_SAFEMALLOC, TRASH_FREED_MEMORY, WITH_INNODB_xxx, WITH_ROCKSDB_xxx, PLUGIN_xxx
With the suggested fix we get the following outputs:
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find Java (missing: Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE
Java_JAVAC_EXECUTABLE Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
(Required is at least version "1.6")
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindJava.cmake:332 (find_package_handle_standard_args)
storage/connect/CMakeLists.txt:282 (FIND_PACKAGE)
-- Found Java: /usr/bin/java (found suitable version "11.0.18", minimum required is "1.6")
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_AWT_INCLUDE_PATH)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindJNI.cmake:372 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
storage/connect/CMakeLists.txt:283 (FIND_PACKAGE)
-- Found Java: /usr/bin/java (found suitable version "11.0.18", minimum required is "1.6")
-- Found JNI: /usr/lib/jvm/default-java/lib/libjawt.so
The following features have been enabled:
* CONNECT_LIBXML2, Support for LIBXML2 in the CONNECT storage engine
* CONNECT_ODBC, Support for ODBC in the CONNECT storage engine
* CONNECT_JDBC, Support for JDBC in the CONNECT storage engine
-- The following REQUIRED packages have been found:
* Curses
* Java (required version >= 1.6)
* JNI
I couldn't see the value of using user defined FindJava.cmake and FindJNI.cmake files instead of default modules, so removed it as stated in 2.1 of description of MDEV.
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find Java (missing: Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE
Java_JAVAC_EXECUTABLE Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
(Required is at least version "1.6")
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindJava.cmake:332 (find_package_handle_standard_args)
storage/connect/CMakeLists.txt:281 (FIND_PACKAGE)
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY
JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindJNI.cmake:372 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/FindJNI.cmake:12 (include)
storage/connect/CMakeLists.txt:283 (FIND_PACKAGE)