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