50 lines · plain
1add_subdirectory(API)2 3add_llvm_library(4 LLVMOffload SHARED5 src/OffloadLib.cpp6 src/OffloadImpl.cpp7 8 LINK_COMPONENTS9 FrontendOpenMP10 Support11 12 DEPENDS13 OffloadAPI14 PluginErrcodes15 )16 17foreach(plugin IN LISTS LIBOMPTARGET_PLUGINS_TO_BUILD)18 target_link_libraries(LLVMOffload PRIVATE omptarget.rtl.${plugin})19endforeach()20 21if(LLVM_HAVE_LINK_VERSION_SCRIPT)22 target_link_libraries(LLVMOffload PRIVATE "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports")23endif()24 25target_include_directories(LLVMOffload PUBLIC26 ${CMAKE_CURRENT_BINARY_DIR}/API27 ${CMAKE_CURRENT_BINARY_DIR}/../include28 ${CMAKE_CURRENT_SOURCE_DIR}/include29 ${CMAKE_CURRENT_SOURCE_DIR}/../include30 ${CMAKE_CURRENT_SOURCE_DIR}/../plugins-nextgen/common/include31 ${CMAKE_CURRENT_BINARY_DIR}/../plugins-nextgen/common/include32 )33 34target_compile_options(LLVMOffload PRIVATE ${offload_compile_flags})35target_link_options(LLVMOffload PRIVATE ${offload_link_flags})36 37target_compile_definitions(LLVMOffload PRIVATE38 TARGET_NAME="Liboffload"39 DEBUG_PREFIX="Liboffload"40)41 42set_target_properties(LLVMOffload PROPERTIES43 POSITION_INDEPENDENT_CODE ON44 INSTALL_RPATH "$ORIGIN"45 BUILD_RPATH "$ORIGIN:${CMAKE_CURRENT_BINARY_DIR}/..")46install(TARGETS LLVMOffload LIBRARY COMPONENT LLVMOffload DESTINATION "${OFFLOAD_INSTALL_LIBDIR}")47 48install(FILES ${CMAKE_CURRENT_BINARY_DIR}/API/OffloadAPI.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/offload)49install(FILES ${CMAKE_CURRENT_BINARY_DIR}/API/OffloadPrint.hpp DESTINATION ${CMAKE_INSTALL_PREFIX}/include/offload)50