Fix 'xxx.cc has no symbols' warnings.
- As OPENMP, TBB & CXX11_THREADS are mutually exclusive, and their
implementations are wholly contained within enclosing #ifdefs if the
requisite option is not enabled then the source file is 'empty'.
- This triggers 'xxx.cc has no symbol' warnings when compiling
Ceres statically, as such we now only include these files if they are
not going to be empty.
Change-Id: I5390251b44c5770bbdd4ccb1bc916dbe3b1814a9
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt
index eb18eb0..a22b734 100644
--- a/internal/ceres/CMakeLists.txt
+++ b/internal/ceres/CMakeLists.txt
@@ -28,7 +28,18 @@
#
# Author: keir@google.com (Keir Mierle)
+# Avoid 'xxx.cc has no symbols' warnings from source files which are 'empty'
+# when their enclosing #ifdefs are disabled.
+if (CXX11_THREADS)
+ set(CERES_PARALLEL_FOR_SRC parallel_for_cxx.cc thread_pool.cc)
+elseif (OPENMP)
+ set(CERES_PARALLEL_FOR_SRC parallel_for_openmp.cc)
+elseif (TBB)
+ set(CERES_PARALLEL_FOR_SRC parallel_for_tbb.cc)
+endif()
+
set(CERES_INTERNAL_SRC
+ ${CERES_PARALLEL_FOR_SRC}
array_utils.cc
blas.cc
block_evaluate_preparer.cc
@@ -93,9 +104,6 @@
low_rank_inverse_hessian.cc
minimizer.cc
normal_prior.cc
- parallel_for_openmp.cc
- parallel_for_cxx.cc
- parallel_for_tbb.cc
parallel_utils.cc
parameter_block_ordering.cc
partitioned_matrix_view.cc
@@ -123,7 +131,6 @@
split.cc
stringprintf.cc
suitesparse.cc
- thread_pool.cc
thread_token_provider.cc
triplet_sparse_matrix.cc
trust_region_preprocessor.cc