From: Kefu Chai Date: Sat, 8 Aug 2015 04:23:23 +0000 (+0800) Subject: Merge pull request #5500 from oritwas/wip-cmake-isa X-Git-Tag: v9.1.0~414 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=281d45d2ad449d38a0ec3be668d9bba7735b9d21;p=ceph.git Merge pull request #5500 from oritwas/wip-cmake-isa cmake: check for better yasm and fix isa Reviewed-by: Kefu Chai --- 281d45d2ad449d38a0ec3be668d9bba7735b9d21 diff --cc src/CMakeLists.txt index 26bbf16b9b5c,d879e3bd3595..00981bd97c66 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@@ -17,18 -17,16 +17,26 @@@ message(status " ams compiler ${CMAKE_A set(CMAKE_ASM_FLAGS "-f elf64") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -fPIC") + execute_process(COMMAND yasm -f elf64 -i ${CMAKE_SOURCE_DIR}/src/erasure-code/isa/isa-l/include/ ${CMAKE_SOURCE_DIR}/src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s -o /dev/null + RESULT_VARIABLE rc + OUTPUT_QUIET) + if(NOT rc) + set(HAVE_BETTER_YASM_ELF64 1) + endif(NOT rc) + MESSAGE("HAVE_BETTER_YASM_ELF64=" ${HAVE_BETTER_YASM_ELF64}) + set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -ftemplate-depth-1024 -Wno-invalid-offsetof -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -Woverloaded-virtual") +# require c++11 +include(CheckCXXCompilerFlag) +CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) +if (COMPILER_SUPPORTS_CXX11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +else() + message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support.") +endif() + + set(EXTRALIBS uuid rt dl ${Boost_LIBS}) if(${WITH_PROFILER})