2022-05-06 09:49:46 +00:00
|
|
|
|
# Запись результатов сборки проекта внутрь иерархии каталогов с исходными текстами
|
|
|
|
|
# приводит к засорению файлами формируемыми на этапе сборки, которые затрудняют
|
|
|
|
|
# разработку, поиск в оригинальных файлах и мешают ориентироваться в проекте.
|
|
|
|
|
# При работе с несколькими типами сборки, например, отладка и выпуск, появляется
|
|
|
|
|
# необходимость корректного полного удаления результатов предыдущего варианта.
|
|
|
|
|
|
|
|
|
|
include_guard(GLOBAL)
|
2021-12-08 11:32:04 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2021-12-21 10:45:09 +00:00
|
|
|
|
myx_cmake_message_error("MyxCMake: Cannot install into build directory.")
|
2021-12-08 11:32:04 +00:00
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(_install_realpath STREQUAL _source_realpath)
|
2021-12-21 10:45:09 +00:00
|
|
|
|
myx_cmake_message_error("MyxCMake: Cannot install into source directory.")
|
2021-12-08 11:32:04 +00:00
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(_source_realpath STREQUAL _binary_realpath)
|
2021-12-21 10:45:09 +00:00
|
|
|
|
myx_cmake_message_error("MyxCMake: In-source builds are not allowed.")
|
2021-12-08 11:32:04 +00:00
|
|
|
|
endif()
|