Con cmake, ¿cómo deshabilitaría las compilaciones en origen?

Quiero evitar que las personas saturen nuestro árbol de fuentes con los archivos CMake generados ... y, lo que es más importante, no permitirles que pisen los existentesMakefiles que no forman parte del mismo proceso de compilación para el que estamos utilizando CMake. (mejor no preguntar)

La forma en que se me ha ocurrido para hacer esto es tener algunas líneas en la parte superior de miCMakeLists.txt, como sigue:

if("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
   message(SEND_ERROR "In-source builds are not allowed.")
endif("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")

Sin embargo, hacerlo de esta manera parece demasiado detallado. Además, si intento una compilación en origen, todavía se crea elCMakeFiles/ directorio, y elCMakeCache.txt archivo en el árbol de origen antes de que se produce el error.

¿Me estoy perdiendo una mejor manera de hacer esto?

Respuestas a la pregunta(7)

Su respuesta a la pregunta