cmake: specify CC when compiling pmem

make always assume that `cc` is available. but we cannot ensure this,
and furthermore, we need to use the compiler specified by user. so
specify `CC` variable when compiling pmem. and reindent the code to fix
the formatting.

Signed-off-by: Kefu Chai <kchai@redhat.com>
This commit is contained in:
Kefu Chai 2020-04-02 12:36:34 +08:00
parent 0a86c8f6be
commit b439835cd6

View File

@ -23,26 +23,26 @@ function(build_pmem)
# build system tests statically linking to librbd (which uses
# libpmemobj) will not link (because we don't build the ndctl
# static library here).
BUILD_COMMAND ${make_cmd} NDCTL_ENABLE=n
BUILD_COMMAND ${make_cmd} CC=${CMAKE_C_COMPILER} NDCTL_ENABLE=n
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS "${PMDK_LIB}/libpmem.a" "${PMDK_LIB}/libpmemobj.a"
INSTALL_COMMAND "true")
# libpmem
add_library(pmem::pmem STATIC IMPORTED)
add_dependencies(pmem::pmem pmdk_ext)
file(MAKE_DIRECTORY ${PMDK_INCLUDE})
set_target_properties(pmem::pmem PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${PMDK_INCLUDE}
IMPORTED_LOCATION "${PMDK_LIB}/libpmem.a"
INTERFACE_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
# libpmem
add_library(pmem::pmem STATIC IMPORTED)
add_dependencies(pmem::pmem pmdk_ext)
file(MAKE_DIRECTORY ${PMDK_INCLUDE})
set_target_properties(pmem::pmem PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${PMDK_INCLUDE}
IMPORTED_LOCATION "${PMDK_LIB}/libpmem.a"
INTERFACE_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
# libpmemobj
add_library(pmem::pmemobj STATIC IMPORTED)
add_dependencies(pmem::pmemobj pmdk_ext)
set_target_properties(pmem::pmemobj PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${PMDK_INCLUDE}
IMPORTED_LOCATION "${PMDK_LIB}/libpmemobj.a"
INTERFACE_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
# libpmemobj
add_library(pmem::pmemobj STATIC IMPORTED)
add_dependencies(pmem::pmemobj pmdk_ext)
set_target_properties(pmem::pmemobj PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${PMDK_INCLUDE}
IMPORTED_LOCATION "${PMDK_LIB}/libpmemobj.a"
INTERFACE_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
endfunction()