annotate openmp/libomptarget/CMakeLists.txt @ 180:680fa57a2f20

fix compile errors.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 30 May 2020 17:44:06 +0900
parents 1d019706d866
children 2e18cbf3894f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 ##===----------------------------------------------------------------------===##
anatofuz
parents:
diff changeset
2 #
anatofuz
parents:
diff changeset
3 # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
anatofuz
parents:
diff changeset
4 # See https://llvm.org/LICENSE.txt for license information.
anatofuz
parents:
diff changeset
5 # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
anatofuz
parents:
diff changeset
6 #
anatofuz
parents:
diff changeset
7 ##===----------------------------------------------------------------------===##
anatofuz
parents:
diff changeset
8 #
anatofuz
parents:
diff changeset
9 # Build offloading library and related plugins.
anatofuz
parents:
diff changeset
10 #
anatofuz
parents:
diff changeset
11 ##===----------------------------------------------------------------------===##
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
anatofuz
parents:
diff changeset
14 message(FATAL_ERROR "Direct configuration not supported, please use parent directory!")
anatofuz
parents:
diff changeset
15 endif()
anatofuz
parents:
diff changeset
16
anatofuz
parents:
diff changeset
17 # Add cmake directory to search for custom cmake functions.
anatofuz
parents:
diff changeset
18 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules ${CMAKE_MODULE_PATH})
anatofuz
parents:
diff changeset
19
anatofuz
parents:
diff changeset
20 if(OPENMP_STANDALONE_BUILD)
anatofuz
parents:
diff changeset
21 # Build all libraries into a common place so that tests can find them.
anatofuz
parents:
diff changeset
22 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
anatofuz
parents:
diff changeset
23 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
anatofuz
parents:
diff changeset
24 endif()
anatofuz
parents:
diff changeset
25
anatofuz
parents:
diff changeset
26 # Message utilities.
anatofuz
parents:
diff changeset
27 include(LibomptargetUtils)
anatofuz
parents:
diff changeset
28
anatofuz
parents:
diff changeset
29 # Get dependencies for the different components of the project.
anatofuz
parents:
diff changeset
30 include(LibomptargetGetDependencies)
anatofuz
parents:
diff changeset
31
anatofuz
parents:
diff changeset
32 # This is a list of all the targets that are supported/tested right now.
anatofuz
parents:
diff changeset
33 set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} aarch64-unknown-linux-gnu")
anatofuz
parents:
diff changeset
34 set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} powerpc64le-ibm-linux-gnu")
anatofuz
parents:
diff changeset
35 set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} powerpc64-ibm-linux-gnu")
anatofuz
parents:
diff changeset
36 set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} x86_64-pc-linux-gnu")
anatofuz
parents:
diff changeset
37 set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} nvptx64-nvidia-cuda")
anatofuz
parents:
diff changeset
38
anatofuz
parents:
diff changeset
39 # Once the plugins for the different targets are validated, they will be added to
anatofuz
parents:
diff changeset
40 # the list of supported targets in the current system.
anatofuz
parents:
diff changeset
41 set (LIBOMPTARGET_SYSTEM_TARGETS "")
anatofuz
parents:
diff changeset
42 set (LIBOMPTARGET_TESTED_PLUGINS "")
anatofuz
parents:
diff changeset
43
anatofuz
parents:
diff changeset
44 # Check whether using debug mode. In debug mode, allow dumping progress
anatofuz
parents:
diff changeset
45 # messages at runtime by default. Otherwise, it can be enabled
anatofuz
parents:
diff changeset
46 # independently using the LIBOMPTARGET_ENABLE_DEBUG option.
anatofuz
parents:
diff changeset
47 string( TOLOWER "${CMAKE_BUILD_TYPE}" LIBOMPTARGET_CMAKE_BUILD_TYPE)
anatofuz
parents:
diff changeset
48 if(LIBOMPTARGET_CMAKE_BUILD_TYPE MATCHES debug)
anatofuz
parents:
diff changeset
49 option(LIBOMPTARGET_ENABLE_DEBUG "Allow debug output with the environment variable LIBOMPTARGET_DEBUG=1" ON)
anatofuz
parents:
diff changeset
50 else()
anatofuz
parents:
diff changeset
51 option(LIBOMPTARGET_ENABLE_DEBUG "Allow debug output with the environment variable LIBOMPTARGET_DEBUG=1" OFF)
anatofuz
parents:
diff changeset
52 endif()
anatofuz
parents:
diff changeset
53 if(LIBOMPTARGET_ENABLE_DEBUG)
anatofuz
parents:
diff changeset
54 add_definitions(-DOMPTARGET_DEBUG)
anatofuz
parents:
diff changeset
55 endif()
anatofuz
parents:
diff changeset
56
anatofuz
parents:
diff changeset
57 include_directories(include)
anatofuz
parents:
diff changeset
58
anatofuz
parents:
diff changeset
59 # Build target agnostic offloading library.
anatofuz
parents:
diff changeset
60 add_subdirectory(src)
anatofuz
parents:
diff changeset
61
anatofuz
parents:
diff changeset
62 # Retrieve the path to the resulting library so that it can be used for
anatofuz
parents:
diff changeset
63 # testing.
anatofuz
parents:
diff changeset
64 get_target_property(LIBOMPTARGET_LIBRARY_DIR omptarget LIBRARY_OUTPUT_DIRECTORY)
anatofuz
parents:
diff changeset
65 if(NOT LIBOMPTARGET_LIBRARY_DIR)
anatofuz
parents:
diff changeset
66 set(LIBOMPTARGET_LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
anatofuz
parents:
diff changeset
67 endif()
anatofuz
parents:
diff changeset
68
anatofuz
parents:
diff changeset
69 # Definitions for testing, for reuse when testing libomptarget-nvptx.
anatofuz
parents:
diff changeset
70 if(OPENMP_STANDALONE_BUILD)
anatofuz
parents:
diff changeset
71 set(LIBOMPTARGET_OPENMP_HEADER_FOLDER "${CMAKE_CURRENT_BINARY_DIR}/../runtime/src" CACHE STRING
anatofuz
parents:
diff changeset
72 "Path to folder containing omp.h")
anatofuz
parents:
diff changeset
73 set(LIBOMPTARGET_OPENMP_HOST_RTL_FOLDER "${CMAKE_CURRENT_BINARY_DIR}/../runtime/src" CACHE STRING
anatofuz
parents:
diff changeset
74 "Path to folder containing libomp.so")
anatofuz
parents:
diff changeset
75 else()
anatofuz
parents:
diff changeset
76 set(LIBOMPTARGET_OPENMP_HEADER_FOLDER "${CMAKE_CURRENT_BINARY_DIR}/../runtime/src")
anatofuz
parents:
diff changeset
77 endif()
anatofuz
parents:
diff changeset
78
anatofuz
parents:
diff changeset
79
anatofuz
parents:
diff changeset
80 # Build offloading plugins and device RTLs if they are available.
anatofuz
parents:
diff changeset
81 add_subdirectory(plugins)
anatofuz
parents:
diff changeset
82 add_subdirectory(deviceRTLs)
anatofuz
parents:
diff changeset
83
anatofuz
parents:
diff changeset
84 # Add tests.
anatofuz
parents:
diff changeset
85 add_subdirectory(test)