title: CMake "find_package" command on a package that was not installed is unexpectedly successful
body: <p>I am following <a href="https://github.com/dev-cafe/cmake-cookbook/tree/master/chapter-02/recipe-06" rel="nofollow noreferrer">chapter-02/recipe-06</a> in "<a href="https://www.packtpub.com/application-development/cmake-cookbook" rel="nofollow noreferrer">CMake Cookbook</a>". This particular example requires the <a href="http://eigen.tuxfamily.org/index.php?title=Main_Page" rel="nofollow noreferrer">Eigen C++ libraries</a>.</p>
  
  <p>I attempted to build the example and got the error that Eigen was not found.</p>
  
  <pre><code>CMake Error at CMakeLists.txt:9 (find_package):
    Could not find a package configuration file provided by "Eigen3" (requested
    version 3.3) with any of the following names:
  
      Eigen3Config.cmake
      eigen3-config.cmake
  
    Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
    "Eigen3_DIR" to a directory containing one of the above files.  If "Eigen3"
    provides a separate development package or SDK, be sure it has been
    installed.
  </code></pre>
  
  <p>This was expected because the library was not installed on my system.</p>
  
  <p>I then downloaded the ".zip" file for the Eigen libraries and unzipped it to an arbitrary location outside of my project. I created a "build" folder in the Eigen directory and ran <code>cmake ..</code> in the "build" folder. <strong>(I only ran cmake - I did NOT build or install the package.)</strong></p>
  
  <hr>
  
  <p>After running CMake on the Eigen build directory, I went back to the example code for "recipe-06" and it was magically able to find the Eigen library and built successfully even though Eigen was never built or installed.</p>
  
  <p>Somehow just running CMake in the Eigen project made CMake aware of the Eigen libraries location. After doing this, any projects that do <code>find_package</code> to find Eigen3 somehow get the <code>${Eigen3_DIR}</code> variable defined and are able to find it.</p>
  
  <hr>
  
  <p>Looking at the CMake documentation for <code>find_package</code> I don't see any explanation of why this works. Eigen is not in any of the typical locations that <code>find_package</code> searches. According to <a href="https://cmake.org/cmake/help/v3.13/command/find_package.html" rel="nofollow noreferrer">the documentation</a> it looks like it should NOT be found.</p>
  
  <p><em>Even more interesting - it doesn't matter where I put Eigen on my system. I can put it literally anywhere and it will still find it.</em></p>
  
  <p>According to everything I see in the documentation it should not be found... but it is found. So the question is how? Why does this work?</p>
  
  <p>Additional info: I am using CMake version 3.13.3</p>