I´m a beginner user of CMake. My environment has several projects like:
project
|------ CMakeLists.txt (The main Cmake)
|------ ProjectA
| |--
A) You can do 1 CMakeLists.txt for N projects. When you define a library, you can use it in an executable defined in the cmake (add_executable and target_link_libraries to see).
B) see target_include_directories
C) it seems you can call cmake --target target to generate the Makefile for only one of the target of your cmakelists.txt file.