summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tdlib/td/CMake/PreventInSourceBuild.cmake
blob: 1815e82a25ee8780490d8e4a577bdeafc12c9b8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function(prevent_in_source_build)
  get_filename_component(REAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" REALPATH)
  get_filename_component(REAL_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}" REALPATH)

  if (REAL_BINARY_DIR STREQUAL REAL_SOURCE_DIR)
    message("  Out-of-source build must be used. Remove the files already")
    message("  created by CMake and rerun CMake from a new directory:")
    message("    rm -rf CMakeFiles CMakeCache.txt")
    message("    mkdir build")
    message("    cd build")
    message("    cmake ..")
    message(FATAL_ERROR "In-source build failed.")
  endif()
endfunction()