Robin, I think you patch is right for the fault observed in gitlab, please do a PR.
Daniel, there might be different problem here. wsrep includes in sql/*.h (for non-wsrep files are):
sql/item_strfunc.h:#include "wsrep_api.h" - under a #ifdef WITH_WSREP
|
sql/sql_class.h:#include "wsrep.h" - no def prot
|
sql/sql_class.h:#include "wsrep_on.h" - no def prot
|
sql/sql_class.h:#include "wsrep_client_service.h" - this and below under #ifdef WITH_WSREP
|
sql/sql_class.h:#include "wsrep_client_state.h"
|
sql/sql_class.h:#include "wsrep_mutex.h"
|
sql/sql_class.h:#include "wsrep_condition_variable.h"
|
So remove EXCL_WSREP parts of include/CMakeLists.txt for wsrep.h to be there.
and in sql/CMakeList -
SET(EXCL_WSREP "wsrep_[a-np-z]*.h")
|
maybe? to keep the wsrep_on.h, which happens to be the only wsrep_o*.h file.
On CI, seems to be getting more common so a build at least so probably soon.
Do you know of a test that links against the server headers?
Happy to take this as one or two PRs, whatever is easiest.
I suggest the following change in the CMake install macros which will avoid excluding the MTR test .inc files. This fixes the (relevant) failing tests. I'll make a PR if this change is appropriate.
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
index 7814f1dbeac..fba0bd03dac 100644
--- a/cmake/install_macros.cmake
+++ b/cmake/install_macros.cmake
@@ -266,7 +266,7 @@ SET(DEBUGBUILDDIR "${BINARY_PARENTDIR}/debug" CACHE INTERNAL "Directory of debug
FUNCTION(INSTALL_MYSQL_TEST from to)
IF(INSTALL_MYSQLTESTDIR)
IF(NOT WITH_WSREP)
- SET(EXCL_GALERA "(suite/(galera|wsrep|sys_vars/[rt]/(sysvars_)?wsrep).*|include/((w.*)?wsrep.*|.*galera.*)\\.inc|std_data/(galera|wsrep).*)")
+ SET(EXCL_GALERA "(suite/(galera|wsrep|sys_vars/[rt]/(sysvars_)?wsrep).*|std_data/(galera|wsrep).*)")
ELSE()
SET(EXCL_GALERA "^DOES_NOT_EXIST$")