global_flags.compiler.gnu.cmake 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. set(_GNU_COMMON_C_CXX_FLAGS "\
  2. -fexceptions \
  3. -fno-common \
  4. -fcolor-diagnostics \
  5. -faligned-allocation \
  6. -ffunction-sections \
  7. -fdata-sections \
  8. -Wall \
  9. -Wextra \
  10. -Wno-parentheses \
  11. -Wno-implicit-const-int-float-conversion \
  12. -Wno-unknown-warning-option \
  13. -pipe \
  14. -D_THREAD_SAFE \
  15. -D_PTHREADS \
  16. -D_REENTRANT \
  17. -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES \
  18. -D_LARGEFILE_SOURCE \
  19. -D__STDC_CONSTANT_MACROS \
  20. -D__STDC_FORMAT_MACROS \
  21. -D_GNU_SOURCE \
  22. -D__LONG_LONG_SUPPORTED \
  23. -D_YNDX_LIBUNWIND_ENABLE_EXCEPTION_BACKTRACE \
  24. -D_libunwind_ \
  25. -DLIBCXX_BUILDING_LIBCXXRT \
  26. ")
  27. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_GNU_COMMON_C_CXX_FLAGS} \
  28. -D_FILE_OFFSET_BITS=64 \
  29. ")
  30. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_GNU_COMMON_C_CXX_FLAGS} \
  31. -Woverloaded-virtual \
  32. -Wimport-preprocessor-directive-pedantic \
  33. -Wno-undefined-var-template \
  34. -Wno-return-std-move \
  35. -Wno-defaulted-function-deleted \
  36. -Wno-pessimizing-move \
  37. -Wno-deprecated-anon-enum-enum-conversion \
  38. -Wno-deprecated-enum-enum-conversion \
  39. -Wno-deprecated-enum-float-conversion \
  40. -Wno-ambiguous-reversed-operator \
  41. -Wno-deprecated-volatile \
  42. ")
  43. if (NOT APPLE)
  44. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-init-array")
  45. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-init-array")
  46. endif()
  47. if (ANDROID)
  48. include_directories(SYSTEM ${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++abi/include)
  49. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char")
  50. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char")
  51. else()
  52. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64")
  53. endif()
  54. if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
  55. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char")
  56. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char")
  57. endif()
  58. if ((CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") OR (CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64"))
  59. set(_X86_64_GNU_COMPILER_FLAGS "\
  60. -m64 \
  61. -msse2 \
  62. -msse3 \
  63. -mssse3 \
  64. -msse4.1 \
  65. -msse4.2 \
  66. -mpopcnt \
  67. -mcx16 \
  68. ")
  69. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_X86_64_GNU_COMPILER_FLAGS}")
  70. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_X86_64_GNU_COMPILER_FLAGS}")
  71. endif()