1IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le") 2MESSAGE(STATUS "Power8+ system using xlC/xlc/xlf") 3 4ADD_DEFINITIONS( -Drestrict=__restrict__ ) 5 6# Clean up flags 7 8IF(CMAKE_C_FLAGS MATCHES "-qhalt=e") 9 SET(CMAKE_C_FLAGS "") 10ENDIF() 11IF(CMAKE_CXX_FLAGS MATCHES "-qhalt=e") 12 SET(CMAKE_CXX_FLAGS "") 13ENDIF() 14 15SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__forceinline=inline") 16 17# Suppress compile warnings 18SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated -Wno-unused-value") 19SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-unused-value") 20 21# Set extra optimization specific flags 22SET( CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" ) 23SET( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" ) 24SET( CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O3" ) 25SET( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -O3" ) 26 27IF(QMC_OMP) 28 SET(ENABLE_OPENMP 1) 29 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qsmp=omp") 30 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qsmp=omp") 31 IF(ENABLE_OFFLOAD) 32 set(OPENMP_OFFLOAD_COMPILE_OPTIONS "-qoffload") 33 ENDIF(ENABLE_OFFLOAD) 34ELSE(QMC_OMP) 35 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qnothreaded") 36ENDIF(QMC_OMP) 37 38# Add static flags if necessary 39IF(QMC_BUILD_STATIC) 40 SET(CMAKE_CXX_LINK_FLAGS " -static") 41ENDIF(QMC_BUILD_STATIC) 42 43ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le") 44