diff --git a/CMakeLists.txt b/CMakeLists.txt
index e224cad..b25cee3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -711,10 +711,13 @@
 ceres_compile_options_to_components("${CERES_COMPILE_OPTIONS}"
   CERES_COMPILED_COMPONENTS)
 
+include(CMakePackageConfigHelpers)
+
 # Create a CeresConfigVersion.cmake file containing the version information,
 # used by both export() & install().
-configure_file("${Ceres_SOURCE_DIR}/cmake/CeresConfigVersion.cmake.in"
-               "${Ceres_BINARY_DIR}/CeresConfigVersion.cmake" @ONLY)
+write_basic_package_version_file("${Ceres_BINARY_DIR}/CeresConfigVersion.cmake"
+  VERSION ${CERES_VERSION}
+  COMPATIBILITY SameMajorVersion)
 
 # Install method #1: Put Ceres in CMAKE_INSTALL_PREFIX: /usr/local or equivalent.
 
diff --git a/cmake/CeresConfigVersion.cmake.in b/cmake/CeresConfigVersion.cmake.in
deleted file mode 100644
index 5ff36eb..0000000
--- a/cmake/CeresConfigVersion.cmake.in
+++ /dev/null
@@ -1,50 +0,0 @@
-# Ceres Solver - A fast non-linear least squares minimizer
-# Copyright 2015 Google Inc. All rights reserved.
-# http://ceres-solver.org/
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice,
-#   this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright notice,
-#   this list of conditions and the following disclaimer in the documentation
-#   and/or other materials provided with the distribution.
-# * Neither the name of Google Inc. nor the names of its contributors may be
-#   used to endorse or promote products derived from this software without
-#   specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-# Author: pablo.speciale@gmail.com (Pablo Speciale)
-#
-# FIND_PACKAGE() searches for a <package>Config.cmake file and an associated
-# <package>Version.cmake file, which it loads to check the version number.
-#
-# This file can be used with CONFIGURE_FILE() to generate such a file for a
-# project with very basic logic.
-#
-# It sets PACKAGE_VERSION_EXACT if the current version string and the requested
-# version string are exactly the same and it sets PACKAGE_VERSION_COMPATIBLE
-# if the current version is >= requested version.
-
-set(PACKAGE_VERSION @CERES_VERSION@)
-
-if ("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
-   set(PACKAGE_VERSION_COMPATIBLE FALSE)
-else ("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
-   set(PACKAGE_VERSION_COMPATIBLE TRUE)
-   if ("${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
-      set(PACKAGE_VERSION_EXACT TRUE)
-   endif ("${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
-endif ("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
