title: How can I add Vulkan to a cross platform CMake project?
body: <p>In order to make a CMake project as simple and as portable as it can get I have consider to add the "whole" repositories of the libraries I need to the project.
  The project structure is as follows:</p>
  
  <pre><code>MyProject/
  └──CMakeLists.txt
  └──src/
      └──MyProject/
          └── *.h &amp; *.cpp
          └── CMakeLists.txt
  └──ThirdParty/
      └──Vulkan-Hpp/
          └──(Vulkan Files)
      └──glfw/
          └──(glfw Files)
      └──SFML/
          └──(SFML Files)
  
  </code></pre>
  
  <p>All the third party directories are the git submodules of the following repositories:
  <a href="https://github.com/KhronosGroup/Vulkan-Hpp" rel="noreferrer">https://github.com/KhronosGroup/Vulkan-Hpp</a></p>
  
  <p><a href="https://github.com/SFML/SFML" rel="noreferrer">https://github.com/SFML/SFML</a></p>
  
  <p><a href="https://github.com/glfw/glfw" rel="noreferrer">https://github.com/glfw/glfw</a></p>
  
  <p>Summarizing everything up, I'm having trouble integrating the vulkan and sfml libraries to the project.</p>
  
  <p>MyProject/CMakeLists.txt is as follows:</p>
  
  <pre><code>cmake_minimum_required (VERSION 3.8 FATAL_ERROR)
  
  project ("MyProject")
  
  set (MyProject_VERSION_MAJOR 0)
  set (MyProject_VERSION_MINOR 2)
  set (MyProject_VERSION_PATCH 1)
  
  set (CMAKE_CXX_STANDARD 17)
  
  # Include sub-projects.
  add_subdirectory ("src/MyProject")
  add_subdirectory ("ThirdParty/glfw")
  add_subdirectory ("ThirdParty/SFML")
  add_subdirectory ("ThirdParty/Vulkan-Hpp")
  </code></pre>
  
  <p>MyProject/src/MyProject/CMakeLists.txt:</p>
  
  <pre><code>cmake_minimum_required (VERSION 3.8 FATAL_ERROR)
  
  project ("MyProject")
  find_package(Vulkan REQUIRED FATAL_ERROR) # error
  find_package(SFML REQUIRED network audio) # error
  find_package(glfw REQUIRED FATAL_ERROR) # error
  
  # Add source to this project's executable.
  add_executable (MyProject "MyProject.cpp")
  
  target_include_directories (MyProject 
      PUBLIC ${GLFW_INCLUDE_DIRS}
      PUBLIC ${SFML_INCLUDE_DIR}
      PUBLIC ${VULKAN_INCLUDE_DIRS}
  )
  
  target_link_libraries (MyProject glfw)
  target_link_libraries (MyProject ${VULKAN_LIB_LIST})
  target_link_libraries (MyProject ${SFML_LIBRARIES})
  </code></pre>
  
  <p>How can I tweak CMake in order to use the third party libraries at my main project?
  Is the project structure incorrect?</p>