Ответ 1
Возможно, хотя, возможно, и не рекомендуется...
Вы можете использовать форму с двумя аргументами команды add_subdirectory, чтобы добавить любой каталог, который вы хотите, в качестве каталога "sub":
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../A ${CMAKE_CURRENT_BINARY_DIR}/A)
Второй аргумент формы с двумя аргументами указывает, куда помещать двоичный каталог для добавленного подкаталога.
Вам просто нужно быть осторожным, чтобы там не было другого реального подкаталога B, также называемого "A", а также add_subdirectory'd... Потому что, если вы это сделаете, тогда это будет ошибка, так как CMake не может иметь два разных каталога исходных каталогов в один и тот же каталог сборки.