Remove legacy dependency detection macros.
- Before the new CMake buildsystem in 1.8, Ceres used non-standard
HINTS variables for dependencies. For backwards compatibility CMake
macros were added to translate these legacy variables into the new
(standard) variables.
- As it has now been multiple releases since the legacy variables
were used and they no longer appear in any of the documentation
support for them has now expired.
Change-Id: I2cc72927ed711142ba7943df334ee008181f86a2
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 20c3499..87092d8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -201,63 +201,9 @@
endif()
endif (IOS)
-# Prior to October 2013, Ceres used some non-CMake standardised variables to
-# hold user-specified (as opposed to FindPackage found) include directory and
-# library paths for Ceres dependencies. These were were of the form:
-# <DEPENDENCY>_LIB / <DEPENDENCY>_INCLUDE. Since then, Ceres now has
-# FindPackage() scripts for all of its dependencies which obey the standard
-# CMake variables: <DEPENDENCY>_LIBRARIES & <DEPENDENCY>_INCLUDE_DIRS. In order
-# to ensure backwards compatibility, convert any legacy variables to
-# _directory_ hints for the FindPackage() scripts.
-macro(HANDLE_LEGACY_INCLUDE_DEPENDENCY_HINT
- LEGACY_VAR DIRECTORY_HINT_VAR)
- if (DEFINED ${LEGACY_VAR})
- # Get the dependency name (all caps) from the hint directory variable
- # for the warning message.
- string(REGEX MATCH "^[^_]*" DEPENDENCY_NAME ${DIRECTORY_HINT_VAR})
- message(WARNING "You are defining a legacy variable ${LEGACY_VAR} "
- "to specify the include directory for ${DEPENDENCY_NAME}. This is "
- "deprecated and support for it will be removed in a future release. "
- "Please use either the search directory hints variable: "
- "${DIRECTORY_HINT_VAR} or ${DEPENDENCY_NAME}_INCLUDE_DIR to specify "
- "exactly the directory used (no search performed), see: "
- "http://ceres-solver.org/building.html for more information.")
- list(APPEND ${DIRECTORY_HINT_VAR} ${${LEGACY_VAR}})
- endif (DEFINED ${LEGACY_VAR})
-endmacro(HANDLE_LEGACY_INCLUDE_DEPENDENCY_HINT)
-
-macro(HANDLE_LEGACY_LIBRARY_DEPENDENCY_HINT
- LEGACY_VAR DIRECTORY_HINT_VAR)
- if (DEFINED ${LEGACY_VAR})
- # Get the dependency name (all caps) from the hint directory variable
- # for the warning message.
- string(REGEX MATCH "^[^_]*" DEPENDENCY_NAME ${DIRECTORY_HINT_VAR})
- message(WARNING "You are defining a legacy variable ${LEGACY_VAR} "
- "to specify the library for ${DEPENDENCY_NAME}. This is "
- "deprecated and support for it will be removed in a future release. "
- "Please use either the search directory hints variable: "
- "${DIRECTORY_HINT_VAR} or ${DEPENDENCY_NAME}_LIBRARY to specify "
- "exactly the library used (no search performed), see: "
- "http://ceres-solver.org/building.html for more information.")
- if (EXISTS ${${LEGACY_VAR}} AND
- NOT IS_DIRECTORY ${${LEGACY_VAR}})
- # User specified an explicit (library) file using the legacy variable
- # interface, hints to FindPackage() scripts are directories so add the
- # parent directory of the specified file.
- get_filename_component(DIR_HINT ${${LEGACY_VAR}} PATH)
- list(APPEND ${DIRECTORY_HINT_VAR} ${DIR_HINT})
- elseif (EXISTS ${${LEGACY_VAR}} AND
- IS_DIRECTORY ${${LEGACY_VAR}})
- # User specified a directory hint using the legacy variable, use it.
- list(APPEND ${DIRECTORY_HINT_VAR} ${${LEGACY_VAR}})
- endif()
- endif (DEFINED ${LEGACY_VAR})
-endmacro(HANDLE_LEGACY_LIBRARY_DEPENDENCY_HINT)
-
unset(CERES_COMPILE_OPTIONS)
# Eigen.
-handle_legacy_include_dependency_hint(EIGEN_INCLUDE EIGEN_INCLUDE_DIR_HINTS)
find_package(Eigen REQUIRED)
if (EIGEN_FOUND)
if (EIGEN_VERSION VERSION_LESS 3.1.0)
@@ -407,9 +353,6 @@
# GFlags.
if (GFLAGS)
- handle_legacy_include_dependency_hint(GFLAGS_INCLUDE GFLAGS_INCLUDE_DIR_HINTS)
- handle_legacy_library_dependency_hint(GFLAGS_LIB GFLAGS_LIBRARY_DIR_HINTS)
-
# Don't search with REQUIRED as we can continue without gflags.
find_package(Gflags)
if (GFLAGS_FOUND)
@@ -444,9 +387,6 @@
mark_as_advanced(FORCE GLOG_INCLUDE_DIR
GLOG_LIBRARY)
else (MINIGLOG)
- handle_legacy_include_dependency_hint(GLOG_INCLUDE GLOG_INCLUDE_DIR_HINTS)
- handle_legacy_library_dependency_hint(GLOG_LIB GLOG_LIBRARY_DIR_HINTS)
-
# Don't search with REQUIRED so that configuration continues if not found and
# we can output an error messages explaining MINIGLOG option.
find_package(Glog)