CMake Warning \(dev\) at MissingNormalWarnNoModuleNew.cmake:3 \(find_package\):
  find_package called without either MODULE or CONFIG option and no
  FindNotHere.cmake module is in CMAKE_MODULE_PATH.  Add MODULE to
  exclusively request Module mode and fail if FindNotHere.cmake is missing.
  Add CONFIG to exclusively request Config mode and search for a package
  configuration file provided by NotHere \(NotHereConfig.cmake or
  nothere-config.cmake\).

  \(Variable CMAKE_FIND_PACKAGE_WARN_NO_MODULE enabled this warning.\)
Call Stack \(most recent call first\):
  CMakeLists.txt:3 \(include\)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning at MissingNormalWarnNoModuleNew.cmake:3 \(find_package\):
  By not providing "FindNotHere.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "NotHere", but
  CMake did not find one.

  Could not find a package configuration file provided by "NotHere" with any
  of the following names:

    NotHereConfig.cmake
    nothere-config.cmake

  Add the installation prefix of "NotHere" to CMAKE_PREFIX_PATH or set
  "NotHere_DIR" to a directory containing one of the above files.  If
  "NotHere" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack \(most recent call first\):
  CMakeLists.txt:3 \(include\)
