gcc.cmake 1.0 KB

12345678910111213141516171819202122232425
  1. if (CMAKE_COMPILER_IS_GNUCC)
  2. # common GCC compiler flags
  3. # we add -Wno-unknown-pragmas because of nvcc's #pragma unroll
  4. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wstrict-aliasing=0")
  5. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wstrict-aliasing=0")
  6. if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.8)
  7. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs -Wno-unused-result")
  8. endif()
  9. set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
  10. if (CMAKE_SYSTEM_PROCESSOR MATCHES "Intel" OR CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
  11. set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -msse4.2 -mpopcnt -funroll-loops")
  12. endif()
  13. if(WERROR)
  14. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
  15. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
  16. endif()
  17. if(PROFILING)
  18. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg")
  19. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg")
  20. endif()
  21. endif()