diff --git a/openmp/libomptarget/src/CMakeLists.txt b/openmp/libomptarget/src/CMakeLists.txt --- a/openmp/libomptarget/src/CMakeLists.txt +++ b/openmp/libomptarget/src/CMakeLists.txt @@ -12,35 +12,27 @@ libomptarget_say("Building offloading runtime library libomptarget.") -set(LIBOMPTARGET_SRC_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/api.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/device.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/interface.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/interop.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/omptarget.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/rtl.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/LegacyAPI.cpp -) +add_llvm_library(omptarget + SHARED + + api.cpp + device.cpp + interface.cpp + interop.cpp + omptarget.cpp + rtl.cpp + LegacyAPI.cpp -set(LIBOMPTARGET_SRC_FILES ${LIBOMPTARGET_SRC_FILES} PARENT_SCOPE) + ADDITIONAL_HEADER_DIRS + ${LIBOMPTARGET_INCLUDE_DIR} -# Build libomptarget library with libdl dependency. -add_library(omptarget SHARED ${LIBOMPTARGET_SRC_FILES}) -set_target_properties(omptarget PROPERTIES INSTALL_RPATH "$ORIGIN" BUILD_RPATH "$ORIGIN") -if (OPENMP_ENABLE_LIBOMPTARGET_PROFILING) - # Add LLVMSupport dependency if profiling is enabled. - # Linking with LLVM component libraries also requires - # aligning the compile flags. - llvm_update_compile_flags(omptarget) - target_compile_definitions(omptarget PUBLIC OMPTARGET_PROFILE_ENABLED) - target_link_libraries(omptarget PRIVATE LLVMSupport) -endif() -target_include_directories(omptarget PRIVATE - ${LIBOMPTARGET_INCLUDE_DIR}) -target_link_libraries(omptarget PRIVATE + LINK_COMPONENTS + Support + Object + + LINK_LIBS ${CMAKE_DL_LIBS} - "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports") + "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports" +) -# Install libomptarget under the lib destination folder. -install(TARGETS omptarget LIBRARY COMPONENT omptarget - DESTINATION "${OPENMP_INSTALL_LIBDIR}") +target_include_directories(omptarget PRIVATE ${LIBOMPTARGET_INCLUDE_DIR})