]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: silence -Waddress-of-packed-member warnings from SPDK 28507/head
authorKefu Chai <kchai@redhat.com>
Wed, 12 Jun 2019 13:27:33 +0000 (21:27 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 13 Jun 2019 11:35:26 +0000 (19:35 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
cmake/modules/BuildSPDK.cmake

index 4b8306a38818edc1518b16c1deab5f90fbbf2119..2522ccffa476954a66ad0d6fd5be05d6c3aeb94c 100644 (file)
@@ -18,6 +18,12 @@ macro(build_spdk)
     set(make_cmd "${MAKE_EXECUTABLE}")
   endif()
 
+  set(spdk_CFLAGS "-fPIC")
+  include(CheckCCompilerFlag)
+  check_c_compiler_flag("-Wno-address-of-packed-member" HAS_WARNING_ADDRESS_OF_PACKED_MEMBER)
+  if(HAS_WARNING_ADDRESS_OF_PACKED_MEMBER)
+    set(spdk_CFLAGS "${spdk_CFLAGS} -Wno-address-of-packed-member")
+  endif()
   include(ExternalProject)
   ExternalProject_Add(spdk-ext
     DEPENDS dpdk-ext
@@ -26,7 +32,7 @@ macro(build_spdk)
     # unset $CFLAGS, otherwise it will interfere with how SPDK sets
     # its include directory.
     # unset $LDFLAGS, otherwise SPDK will fail to mock some functions.
-    BUILD_COMMAND env -i PATH=$ENV{PATH} CC=${CMAKE_C_COMPILER} ${make_cmd} EXTRA_CFLAGS="-fPIC"
+    BUILD_COMMAND env -i PATH=$ENV{PATH} CC=${CMAKE_C_COMPILER} ${make_cmd} EXTRA_CFLAGS="${spdk_CFLAGS}"
     BUILD_IN_SOURCE 1
     INSTALL_COMMAND "true")
   unset(make_cmd)