diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt index 9097ca5623000..d2041ca49a4ed 100644 --- a/openmp/CMakeLists.txt +++ b/openmp/CMakeLists.txt @@ -85,6 +85,11 @@ else() set(CMAKE_CXX_EXTENSIONS NO) endif() +# Enabling Fortran if it is needed +if(${LIBOMP_FORTRAN_MODULES}) + enable_language(Fortran) +endif() + # Check and set up common compiler flags. include(config-ix) include(HandleOpenMPOptions) @@ -114,6 +119,18 @@ option(OPENMP_ENABLE_LIBOMP_PROFILING "Enable time profiling for libomp." OFF) # Header install location if(${OPENMP_STANDALONE_BUILD}) set(LIBOMP_HEADERS_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}") + message("MK: CMAKE_Fortran_COMPILER_ID=${CMAKE_Fortran_COMPILER_ID}") + if(CMAKE_Fortran_COMPILER_ID MATCHES "Flang") + execute_process( + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND ${CMAKE_Fortran_COMPILER} --print-resource-dir + RESULT_VARIABLE COMMAND_RETURN_CODE + OUTPUT_VARIABLE FORTRAN_COMPILER_RESOURCE_DIR + ) + set(LIBOMP_MODULES_INSTALL_PATH "${FORTRAN_COMPILER_RESOURCE_DIR}") + else() + set(LIBOMP_MODULES_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}") + endif() else() include(GetClangResourceDir) get_clang_resource_dir(LIBOMP_HEADERS_INSTALL_PATH SUBDIR include) diff --git a/openmp/runtime/CMakeLists.txt b/openmp/runtime/CMakeLists.txt index bcae02eba6a59..24036a08a9647 100644 --- a/openmp/runtime/CMakeLists.txt +++ b/openmp/runtime/CMakeLists.txt @@ -262,10 +262,6 @@ set(LIBOMP_TOOLS_DIR ${LIBOMP_BASE_DIR}/tools) set(LIBOMP_INC_DIR ${LIBOMP_SRC_DIR}/include) set(LIBOMP_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) -# Enabling Fortran if it is needed -if(${LIBOMP_FORTRAN_MODULES}) - enable_language(Fortran) -endif() # Enable MASM Compiler if it is needed (Windows only) if(WIN32) enable_language(ASM_MASM)