Skip to content

Commit 8ad003d

Browse files
committed
Recognize Flang as a compiler and ask for resource dir
1 parent dd09a7d commit 8ad003d

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

openmp/CMakeLists.txt

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ else()
8585
set(CMAKE_CXX_EXTENSIONS NO)
8686
endif()
8787

88+
# Enabling Fortran if it is needed
89+
if(${LIBOMP_FORTRAN_MODULES})
90+
enable_language(Fortran)
91+
endif()
92+
8893
# Check and set up common compiler flags.
8994
include(config-ix)
9095
include(HandleOpenMPOptions)
@@ -118,12 +123,27 @@ if(${OPENMP_STANDALONE_BUILD})
118123
OUTPUT_STRIP_TRAILING_WHITESPACE
119124
COMMAND ${CMAKE_CXX_COMPILER} --print-resource-dir
120125
RESULT_VARIABLE COMMAND_RETURN_CODE
121-
OUTPUT_VARIABLE COMPILER_RESOURCE_DIR
126+
OUTPUT_VARIABLE CXX_COMPILER_RESOURCE_DIR
122127
)
123-
set(LIBOMP_HEADERS_INSTALL_PATH "${COMPILER_RESOURCE_DIR}/include")
128+
set(LIBOMP_HEADERS_INSTALL_PATH "${CXX_COMPILER_RESOURCE_DIR}/include")
124129
else()
125130
set(LIBOMP_HEADERS_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}")
126131
endif()
132+
message("MK: CMAKE_Fortran_COMPILER_ID=${CMAKE_Fortran_COMPILER_ID}")
133+
if(CMAKE_Fortran_COMPILER_ID MATCHES "Flang")
134+
execute_process(
135+
OUTPUT_STRIP_TRAILING_WHITESPACE
136+
COMMAND ${CMAKE_Fortran_COMPILER} --print-resource-dir
137+
RESULT_VARIABLE COMMAND_RETURN_CODE
138+
OUTPUT_VARIABLE FORTRAN_COMPILER_RESOURCE_DIR
139+
)
140+
# TODO: This must not be hard-coded, but needs to come from Flang!
141+
set(LIBOMP_MODULES_INSTALL_PATH "${FORTRAN_COMPILER_RESOURCE_DIR}")
142+
message("MK: 1 LIBOMP_MODULES_INSTALL_PATH=${LIBOMP_MODULES_INSTALL_PATH}")
143+
else()
144+
set(LIBOMP_MODULES_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}")
145+
message("MK: 2 LIBOMP_MODULES_INSTALL_PATH=${CMAKE_INSTALL_INCLUDEDIR}")
146+
endif()
127147
else()
128148
include(GetClangResourceDir)
129149
get_clang_resource_dir(LIBOMP_HEADERS_INSTALL_PATH SUBDIR include)

openmp/runtime/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,6 @@ set(LIBOMP_TOOLS_DIR ${LIBOMP_BASE_DIR}/tools)
259259
set(LIBOMP_INC_DIR ${LIBOMP_SRC_DIR}/include)
260260
set(LIBOMP_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
261261

262-
# Enabling Fortran if it is needed
263-
if(${LIBOMP_FORTRAN_MODULES})
264-
enable_language(Fortran)
265-
endif()
266262
# Enable MASM Compiler if it is needed (Windows only)
267263
if(WIN32)
268264
enable_language(ASM_MASM)

0 commit comments

Comments
 (0)