title: How to organize parts of a project that use common files?
body: <p>I'm developing a C++ project. My project consists of two parts: backend and GUI. Both of them written in C++. Now I've finished developing the first part - backend. Now I want to start developing the GUI part, but I don't know how to organize git repositories and folders structure. Now I have a single repository with only backend project. Am I supposed to create another repository for GUI? The problem also is that backend and GUI project will use common libraries and common header files. So, if is it good idea to create a new repository, then how can I share common files between projects? Maybe you know some open source projects that also consist of multiple parts and have common files? I would be glad to learn how they solved that problem. Hope for your help!</p>
  <p>P.S: I use CMake build system and CLion IDE. Backend and GUI are compiled by different compilers, but CMake doesn't support using of different compilers in one project. So, I anyway have to separate CMake projects.</p>