xref: /aosp_15_r20/external/pytorch/cmake/BuildVariables.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1# ---[ Declare variables that we are going to use across the Caffe2 build.
2# This file defines common, Caffe2-wide variables that we use to collect
3# source files and other things. Each variable is annotated with their
4# intended uses.
5# Note that adding and / or deleting these variables usually involves
6# changing the whole build system, so make sure you send a PR early if you
7# want to change them.
8
9# Caffe2_{CPU,GPU}_SRCS is the list that will have all the related source
10# files for CPU and GPU respectively. They will be filled with the
11# CMakeLists.txt files under each folder respectively.
12set(Caffe2_CPU_SRCS)
13set(Caffe2_GPU_SRCS)
14
15# Caffe2_{CPU,GPU}_TEST_SRCS is the list that will have all the related source
16# files for CPU and GPU tests respectively.
17set(Caffe2_CPU_TEST_SRCS)
18set(Caffe2_GPU_TEST_SRCS)
19
20# Caffe2_{CPU,GPU}_INCLUDE is the list that will have all the include
21# directories for CPU and GPU respectively.
22set(Caffe2_CPU_INCLUDE)
23set(Caffe2_GPU_INCLUDE)
24
25# Lists for Caffe2 dependency libraries, for CPU and CUDA respectively.
26set(Caffe2_DEPENDENCY_LIBS "")
27set(Caffe2_CUDA_DEPENDENCY_LIBS "")
28# This variable contains dependency libraries of Caffe2 which requires whole
29# symbol linkage. One example is the onnx lib where we need all its schema
30# symbols. However, if the lib is whole linked in caffe2 lib, we don't want
31# it to be linked in binaries that will link caffe2 lib. Because if caffe2 lib
32# is built as dynamic library, it will result in two copied of symbols of
33# Caffe2_DEPENDENCY_WHOLE_LINK_LIBS existing in caffe2.so and the binary, which
34# will cause issues. Therefore Caffe2_DEPENDENCY_WHOLE_LINK_LIBS will only
35# be linked by caffe2 lib.
36set(Caffe2_DEPENDENCY_WHOLE_LINK_LIBS "")
37
38# Lists for Caffe2 public dependency libraries. These libraries will be
39# transitive to any libraries that depends on Caffe2.
40set(Caffe2_PUBLIC_DEPENDENCY_LIBS "")
41set(Caffe2_PUBLIC_CUDA_DEPENDENCY_LIBS "")
42
43# List of modules that is built as part of the main Caffe2 build. For all
44# binary targets, such as Python and native binaries, they will be linked
45# automatically with these modules.
46set(Caffe2_MODULES "")
47