File: CMakeLists.txt

package info (click to toggle)
llvm-toolchain-11 1%3A11.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 995,808 kB
  • sloc: cpp: 4,767,656; ansic: 760,916; asm: 477,436; python: 170,940; objc: 69,804; lisp: 29,914; sh: 23,855; f90: 18,173; pascal: 7,551; perl: 7,471; ml: 5,603; awk: 3,489; makefile: 2,573; xml: 915; cs: 573; fortran: 503; javascript: 452
file content (49 lines) | stat: -rw-r--r-- 1,806 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
##===----------------------------------------------------------------------===##
#
# Build a plugin for a NEC Aurora machine if available. (Can also run on host)
#
##===----------------------------------------------------------------------===##


if(${LIBOMPTARGET_DEP_VEO_FOUND})
  libomptarget_say("Building SX-Aurora VE offloading plugin.")
  set(additional_libs "")
  set(additional_libs ${LIBOMPTARGET_DEP_VEO_LIBRARIES}
                      ${LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES}
                      ${additional_libs})

  set(tmachine_name "ve")
  set(tmachine_libname "ve")
  set(tmachine_triple "ve-unknown-linux-unknown")
  set(elf_machine_id 251)

  include_directories(${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR})
  include_directories(${LIBOMPTARGET_DEP_VEO_INCLUDE_DIR})


  # Define macro to be used as prefix of the runtime messages for this target.
  add_definitions("-DTARGET_NAME=${tmachine_name}")

  # Define macro with the ELF ID for this target.
  add_definitions("-DTARGET_ELF_ID=${elf_machine_id}")

  add_library("omptarget.rtl.${tmachine_libname}" SHARED
    ${CMAKE_CURRENT_SOURCE_DIR}/src/rtl.cpp)

  # Install plugin under the lib destination folder.
  install(TARGETS "omptarget.rtl.${tmachine_libname}"
    LIBRARY DESTINATION lib${OPENMP_LIBDIR_SUFFIX})

  target_link_libraries(
    "omptarget.rtl.${tmachine_libname}"
    ${LIBOMPTARGET_DEP_LIBFFI_LIBRARIES}
    ${LIBOMPTARGET_DEP_LIBELF_LIBRARIES}
    ${additional_libs}
    "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports -Wl,-z,defs")

  # Report to the parent scope that we are building a plugin.
  set(LIBOMPTARGET_SYSTEM_TARGETS
    "${LIBOMPTARGET_SYSTEM_TARGETS} ${tmachine_triple}" PARENT_SCOPE)
else()
    libomptarget_say("Not building nec-aurora plugin: libveo or libveosinfo not found.")
endif()