I am trying to compile with OpenMP. My CMakeLists.txt
contains the line
find_package(OpenMP REQUIRED)
and CMake errors out with
CMake Error at /opt/ros/groovy/share/catkin/cmake/catkinConfig.cmake:72 (find_package):
Could not find a configuration file for package openmp.
Set openmp_DIR to the directory containing a CMake configuration file for
openmp. The file will have one of the following names:
openmpConfig.cmake
openmp-config.cmake
Checking my filesystem, I see that I have /usr/share/cmake-2.8/Modules/FindOpenMP.cmake
but no openmpConfig.cmake
or openmp-config.cmake
. What do I need to do to fix this?
CMake has a FindOpenMP module even in 2.x versions. See http://www.cmake.org/cmake/help/v3.0/module/FindOpenMP.html
So I'll do this:
OpenMp
is not a package, if it's supported, it comes as a part of the your compiler. Try settingCMAKE_C_FLAGS
orCMAKE_CXX_FLAGS
accordingly. e.g:set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
activatesOpenMP
for compilingC
sources whengcc
is used. For other compilers, you should first detect the compiler and then add appropriate flags