]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
cmake: compile Mach-O format instead of ELF on OSX
authorKefu Chai <kchai@redhat.com>
Sat, 9 Sep 2017 18:36:41 +0000 (02:36 +0800)
committerKefu Chai <kchai@redhat.com>
Sat, 16 Sep 2017 02:43:32 +0000 (10:43 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
src/CMakeLists.txt

index 217e4a23524aaaeebe811d08ed42fc81aebd238f..7694fa751a7949b0ef92011187bad5e8a6deba5c 100644 (file)
@@ -88,11 +88,16 @@ endif(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
 include(SIMDExt)
 if(HAVE_INTEL)
   set(CMAKE_ASM_COMPILER  ${PROJECT_SOURCE_DIR}/src/yasm-wrapper)
-  set(CMAKE_ASM_FLAGS "-f elf64")
+  if(APPLE)
+    set(object_format "macho64")
+  else()
+    set(object_format "elf64")
+  endif()
+  set(CMAKE_ASM_FLAGS "-f ${object_format}")
 endif()
 
 execute_process(
-  COMMAND yasm -f elf64 ${CMAKE_SOURCE_DIR}/src/common/crc32c_intel_fast_asm.s -o /dev/null
+  COMMAND yasm -f "${object_format}" ${CMAKE_SOURCE_DIR}/src/common/crc32c_intel_fast_asm.s -o /dev/null
   RESULT_VARIABLE no_yasm
   OUTPUT_QUIET)
 if(no_yasm)
@@ -114,7 +119,7 @@ else(no_yasm)
     if(not_arch_x32)
       message(STATUS " we are not x32")
       set(HAVE_GOOD_YASM_ELF64 1)
-      execute_process(COMMAND yasm -f elf64 -i
+      execute_process(COMMAND yasm -f ${object_format} -i
         ${CMAKE_SOURCE_DIR}/src/isa-l/include/
         ${CMAKE_SOURCE_DIR}/src/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm
         -o /dev/null