diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt --- a/openmp/CMakeLists.txt +++ b/openmp/CMakeLists.txt @@ -55,11 +55,6 @@ set(OPENMP_TEST_OPENMP_FLAGS ${OPENMP_TEST_COMPILER_OPENMP_FLAGS} CACHE STRING "OpenMP compiler flag to use for testing OpenMP runtime libraries.") - -# Build host runtime library. -add_subdirectory(runtime) - - set(ENABLE_LIBOMPTARGET ON) # Currently libomptarget cannot be compiled on Windows or MacOS X. # Since the device plugins are only supported on Linux anyway, @@ -86,6 +81,11 @@ ${ENABLE_LIBOMPTARGET}) option(OPENMP_ENABLE_LIBOMPTARGET_PROFILING "Enable time profiling for libomptarget." ${ENABLE_LIBOMPTARGET}) + +# Build host runtime library, after LIBOMPTARGET variables are set since they are needed +# to enable time profiling support in the OpenMP runtime. +add_subdirectory(runtime) + if (OPENMP_ENABLE_LIBOMPTARGET) # Check that the library can actually be built. if (APPLE OR WIN32) diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt --- a/openmp/runtime/src/CMakeLists.txt +++ b/openmp/runtime/src/CMakeLists.txt @@ -50,6 +50,15 @@ include_directories(${LIBOMP_HWLOC_INSTALL_DIR}/include) endif() +# Building with time profiling support for libomptarget requires +# LLVM directory includes. +if(LIBOMPTARGET_PROFILING_SUPPORT) + include_directories( + ${LLVM_MAIN_INCLUDE_DIR} + ${LLVM_INCLUDE_DIR} + ) +endif() + # Getting correct source files to build library set(LIBOMP_CXXFILES) set(LIBOMP_ASMFILES)