summaryrefslogtreecommitdiff
path: root/plugin/disks/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/disks/CMakeLists.txt')
-rw-r--r--plugin/disks/CMakeLists.txt21
1 files changed, 19 insertions, 2 deletions
diff --git a/plugin/disks/CMakeLists.txt b/plugin/disks/CMakeLists.txt
index d0f34b04027..4e40842cad0 100644
--- a/plugin/disks/CMakeLists.txt
+++ b/plugin/disks/CMakeLists.txt
@@ -1,7 +1,24 @@
INCLUDE (CheckIncludeFiles)
-CHECK_INCLUDE_FILES ("sys/statvfs.h;mntent.h" INFO_HEADERS LANGUAGE CXX)
-IF (INFO_HEADERS)
+CHECK_SYMBOL_EXISTS (getmntent "mntent.h" HAVE_GETMNTENT)
+CHECK_SYMBOL_EXISTS (getmntent "sys/mnttab.h" HAVE_GETMNTENT_IN_SYS_MNTAB)
+CHECK_SYMBOL_EXISTS (setmntent "mntent.h" HAVE_SETMNTENT)
+CHECK_SYMBOL_EXISTS (getmntinfo "sys/types.h;sys/mount.h" HAVE_GETMNTINFO)
+CHECK_SYMBOL_EXISTS (getmntinfo64 "sys/types.h;sys/mount.h" HAVE_GETMNTINFO64)
+
+IF (HAVE_GETMNTINFO)
+CHECK_CXX_SOURCE_COMPILES("
+#include <sys/types.h>
+#include <sys/statvfs.h>
+int main()
+{
+ struct statvfs *s;
+ return getmntinfo(&s, ST_WAIT);
+}
+ " HAVE_GETMNTINFO_TAKES_statvfs)
+ENDIF()
+IF (HAVE_GETMNTENT OR HAVE_GETMNTENT_IN_SYS_MNTAB OR
+ HAVE_GETMNTINFO OR HAVE_GETMNTINFO64)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/sql)
MYSQL_ADD_PLUGIN(DISKS information_schema_disks.cc MODULE_ONLY RECOMPILE_FOR_EMBEDDED)
ENDIF()