title: How to link opengl library on CMake using keyword signature
body: <p>I am previously using Visual Studio with NuGet for all package. Now I change to CMake. </p>
  
  <p>Now I am using <a href="https://github.com/Microsoft/vcpkg" rel="nofollow noreferrer">vcpkg</a> to manage library. </p>
  
  <p>However, I need OpenGl </p>
  
  <p>The command of Cmake to link freeglut, glew, glm, libpng, zlib was provide by vcpkg. But not OpenGL. </p>
  
  <pre><code>cmake_minimum_required(VERSION 3.0)
  project(little_plane)
  
  set(CMAKE_CXX_STANDARD 14)
  
  add_executable(little_plane main.cpp)
  
  # ./vcpkg install freeglut
  find_package(GLUT REQUIRED)
  target_link_libraries(little_plane PRIVATE GLUT::GLUT)
  
  
  ## ./vcpkg install glew
  #find_package(GLEW REQUIRED)
  #target_link_libraries(little_plane PRIVATE GLEW::GLEW)
  
  #
  # glm
  find_package(glm CONFIG REQUIRED)
  target_link_libraries(little_plane PRIVATE glm)
  
  # ./vcpkg install libpng
  find_package(PNG REQUIRED)
  target_link_libraries(little_plane PRIVATE PNG::PNG)
  ##
  
  find_package(ZLIB REQUIRED)
  target_link_libraries(little_plane PRIVATE ZLIB::ZLIB)
  
  find_package(OpenGL REQUIRED)
  
  if (OPENGL_FOUND)
      message("opengl found")
      message("include dir: ${OPENGL_INCLUDE_DIR}")
      message("link libraries: ${OPENGL_gl_LIBRARY}")
  else (OPENGL_FOUND)
      message("opengl not found")
  endif()
  
  target_link_libraries(little_plane ${OPENGL_gl_LIBRARY})
  
  
  find_package(glfw3 CONFIG REQUIRED)
  target_link_libraries(little_plane PRIVATE glfw)
  </code></pre>
  
  <p>With the CMakeLists.txt above, I run <code>cmake .</code></p>
  
  <pre><code> opengl found
  include dir: /usr/include
  link libraries: /usr/lib/x86_64-linux-gnu/libGL.so
  CMake Error at CMakeLists.txt:40 (target_link_libraries):
    The keyword signature for target_link_libraries has already been used with
    the target "little_plane".  All uses of target_link_libraries with a target
    must be either all-keyword or all-plain.
  
    The uses of the keyword signature are here:
  
     * CMakeLists.txt:10 (target_link_libraries)
     * CMakeLists.txt:20 (target_link_libraries)
     * CMakeLists.txt:24 (target_link_libraries)
     * CMakeLists.txt:28 (target_link_libraries)
  
  
  
  CMake Error at CMakeLists.txt:44 (target_link_libraries):
    The plain signature for target_link_libraries has already been used with
    the target "little_plane".  All uses of target_link_libraries with a target
    must be either all-keyword or all-plain.
  
    The uses of the plain signature are here:
  
     * CMakeLists.txt:40 (target_link_libraries)
  
  
  
  -- Configuring incomplete, errors occurred!
  </code></pre>
  
  <p>Which mean opengl is installed on my system. I just don't know how to use target_link_libraries to link with my project. </p>
  
  <p>Provide answer that can copy and paste into CMakeLists.txt if possible. </p>