|
12 | 12 |
|
13 | 13 | libomptarget_say("Building offloading runtime library libomptarget.")
|
14 | 14 |
|
15 |
| -add_llvm_library(omptarget |
16 |
| - SHARED |
17 |
| - |
18 |
| - api.cpp |
19 |
| - device.cpp |
20 |
| - interface.cpp |
21 |
| - interop.cpp |
22 |
| - omptarget.cpp |
23 |
| - rtl.cpp |
24 |
| - LegacyAPI.cpp |
25 |
| - |
26 |
| - ADDITIONAL_HEADER_DIRS |
27 |
| - ${LIBOMPTARGET_INCLUDE_DIR} |
28 |
| - |
29 |
| - LINK_COMPONENTS |
30 |
| - Support |
31 |
| - Object |
32 |
| - |
33 |
| - LINK_LIBS |
34 |
| - ${CMAKE_DL_LIBS} |
35 |
| - "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports" |
| 15 | +set(LIBOMPTARGET_SRC_FILES |
| 16 | + ${CMAKE_CURRENT_SOURCE_DIR}/api.cpp |
| 17 | + ${CMAKE_CURRENT_SOURCE_DIR}/device.cpp |
| 18 | + ${CMAKE_CURRENT_SOURCE_DIR}/interface.cpp |
| 19 | + ${CMAKE_CURRENT_SOURCE_DIR}/interop.cpp |
| 20 | + ${CMAKE_CURRENT_SOURCE_DIR}/omptarget.cpp |
| 21 | + ${CMAKE_CURRENT_SOURCE_DIR}/rtl.cpp |
| 22 | + ${CMAKE_CURRENT_SOURCE_DIR}/LegacyAPI.cpp |
36 | 23 | )
|
37 | 24 |
|
38 |
| -target_include_directories(omptarget PRIVATE ${LIBOMPTARGET_INCLUDE_DIR}) |
| 25 | +set(LIBOMPTARGET_SRC_FILES ${LIBOMPTARGET_SRC_FILES} PARENT_SCOPE) |
| 26 | + |
| 27 | +# Build libomptarget library with libdl dependency. |
| 28 | +add_library(omptarget SHARED ${LIBOMPTARGET_SRC_FILES}) |
| 29 | +set_target_properties(omptarget PROPERTIES INSTALL_RPATH "$ORIGIN" BUILD_RPATH "$ORIGIN") |
| 30 | +if (OPENMP_ENABLE_LIBOMPTARGET_PROFILING) |
| 31 | + # Add LLVMSupport dependency if profiling is enabled. |
| 32 | + # Linking with LLVM component libraries also requires |
| 33 | + # aligning the compile flags. |
| 34 | + llvm_update_compile_flags(omptarget) |
| 35 | + target_compile_definitions(omptarget PUBLIC OMPTARGET_PROFILE_ENABLED) |
| 36 | + target_link_libraries(omptarget PRIVATE LLVMSupport) |
| 37 | +endif() |
| 38 | +target_include_directories(omptarget PRIVATE |
| 39 | + ${LIBOMPTARGET_INCLUDE_DIR}) |
| 40 | +target_link_libraries(omptarget PRIVATE |
| 41 | + ${CMAKE_DL_LIBS} |
| 42 | + "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports") |
39 | 43 |
|
40 |
| -# Also install plugin under the standard lib destination folder. |
41 |
| -install(TARGETS omptarget LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}") |
| 44 | +# Install libomptarget under the lib destination folder. |
| 45 | +install(TARGETS omptarget LIBRARY COMPONENT omptarget |
| 46 | + DESTINATION "${OPENMP_INSTALL_LIBDIR}") |
0 commit comments