我需要分析一个C / C ++程序。我正在使用cmake,我的所有编译配置都在CMakeList中设置。在这个post中,有一种丑陋的方法可以做到这一点。还有另一个解决方案here,但它在我的情况下不起作用。所以,正如here所解释的那样,我必须翻译像这样的配置
export CC="skin icc"
export CXX="skin icpc"
....
make
or
make CC="skin icc" CXX="skin icpc"....
进入CMakeList配置。在我目前的CMakeList中,我还没有设置编译器。只定义了标志
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fopenmp -o3")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fopenmp -o3")
非常欢迎任何帮助。感谢。
答案 0 :(得分:-1)
这是本案所解决的问题。设置项目名称后,我添加了以下脚本片段:
set(PROFILER_ENABLED ON)
set(SCOREP_PROFILER "scorep")
set(COMPILER_FLAGS "-Wall -fopenmp -o3")
set(CXX_COMPILER_FLAGS "g++ ${COMPILER_FLAGS}")
set(C_COMPILER_FLAGS "gcc ${COMPILER_FLAGS}")
if(PROFILER_ENABLED)
foreach(LANG C CXX)
message(STATUS "Enabling scorep for ${LANG}")
set(CMAKE_${LANG}_COMPILER "${SCOREP_PROFILER}")
set(CMAKE_${LANG}_FLAGS "${${LANG}_COMPILER_FLAGS}")
endforeach()
else()
message(STATUS "Default compilers")
foreach(LANG C CXX)
set(CMAKE_${LANG}_FLAGS "${COMPILER_FLAGS}")
endforeach()
endif()