# Запись результатов сборки проекта внутрь иерархии каталогов с исходными текстами # приводит к засорению файлами формируемыми на этапе сборки, которые затрудняют # разработку, поиск в оригинальных файлах и мешают ориентироваться в проекте. # При работе с несколькими типами сборки, например, отладка и выпуск, появляется # необходимость корректного полного удаления результатов предыдущего варианта. include_guard(GLOBAL) get_filename_component(_source_realpath "${CMAKE_SOURCE_DIR}" REALPATH) get_filename_component(_binary_realpath "${CMAKE_BINARY_DIR}" REALPATH) get_filename_component(_install_realpath "${CMAKE_INSTALL_PREFIX}" REALPATH) if(_install_realpath STREQUAL _binary_realpath) myx_cmake_message_error("MyxCMake: Cannot install into build directory.") endif() if(_install_realpath STREQUAL _source_realpath) myx_cmake_message_error("MyxCMake: Cannot install into source directory.") endif() if(_source_realpath STREQUAL _binary_realpath) myx_cmake_message_error("MyxCMake: In-source builds are not allowed.") endif()