I have an interesting structure for my code & build scripts: root/ source/ CMakeLists.txt build/ CMakeLists.txt cmake/ common.cmake My root CMakeLists.txt is actually in 'root/source/build", and my common scripts are in "root/cmake".