Skip to content

Commit c3edd12

Browse files
ReillyBroganIanWood1
authored andcommitted
[flang] Enable installing binding header and modules as part of distribution (llvm#133962)
This allows the C/Fortran interop header (`ISO_Fortran_binding.h`) and the Fortran module interfaces (`.mod` files) to be installed with `LLVM_DISTRIBUTION_COMPONENTS`. Signed-off-by: Reilly Brogan <[email protected]>
1 parent c60bc08 commit c3edd12

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

flang/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,5 +585,7 @@ configure_file(
585585
get_clang_resource_dir(HEADER_INSTALL_DIR SUBDIR include)
586586
install(
587587
FILES include/flang/ISO_Fortran_binding.h
588-
DESTINATION ${HEADER_INSTALL_DIR} )
589-
588+
DESTINATION ${HEADER_INSTALL_DIR}
589+
COMPONENT flang-fortran-binding)
590+
add_llvm_install_targets(install-flang-fortran-binding
591+
COMPONENT flang-fortran-binding)

flang/tools/f18/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ if (NOT CMAKE_CROSSCOMPILING)
111111
DEPENDS flang ${FLANG_SOURCE_DIR}/module/${filename}.f90 ${FLANG_SOURCE_DIR}/module/__fortran_builtins.f90 ${depends}
112112
)
113113
list(APPEND MODULE_FILES ${base}.mod)
114-
install(FILES ${base}.mod DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/flang")
114+
install(FILES ${base}.mod DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/flang" COMPONENT flang-module-interfaces)
115115

116116
# If a module has been compiled into an object file, add the file to
117117
# the link line for the flang_rt.runtime library.
@@ -144,12 +144,14 @@ if (NOT CMAKE_CROSSCOMPILING)
144144
DEPENDS ${base}.mod
145145
COMMAND ${CMAKE_COMMAND} -E copy ${base}_kinds.mod ${base}_kinds.f18.mod)
146146
list(APPEND MODULE_FILES ${base}.mod ${base}.f18.mod ${base}_kinds.mod ${base}_kinds.f18.mod)
147-
install(FILES ${base}.mod ${base}.f18.mod ${base}_kinds.mod ${base}_kinds.f18.mod DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/flang")
147+
install(FILES ${base}.mod ${base}.f18.mod ${base}_kinds.mod ${base}_kinds.f18.mod DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/flang" COMPONENT flang-module-interfaces)
148148
elseif ("openmp" IN_LIST LLVM_ENABLE_RUNTIMES)
149149
message(STATUS "OpenMP runtime support enabled via LLVM_ENABLE_RUNTIMES, assuming omp_lib.mod is built there")
150150
else()
151151
message(WARNING "Not building omp_lib.mod, no OpenMP runtime in either LLVM_ENABLE_PROJECTS or LLVM_ENABLE_RUNTIMES")
152152
endif()
153+
add_llvm_install_targets(install-flang-module-interfaces
154+
COMPONENT flang-module-interfaces)
153155
endif()
154156

155157
add_custom_target(module_files ALL DEPENDS ${MODULE_FILES})

0 commit comments

Comments
 (0)