It's a reoccurring issue that users try to build individual components by pointing cmake at a specific subdirectory, e.g. 'cmake vncviewer'. CMake, unfortunately, has insufficient protection against this so we'll need to add a manual check. This commit only adds it to the most likely places for misuse so we don't have to pollute every CMakeLists.txt.pull/1714/head
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) | |||||
message(FATAL_ERROR "cmake must be invoked with the top level directory") | |||||
endif() | |||||
# Benchmarking tools | # Benchmarking tools | ||||
add_subdirectory(perf) | add_subdirectory(perf) | ||||
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) | |||||
message(FATAL_ERROR "cmake must be invoked with the top level directory") | |||||
endif() | |||||
add_subdirectory(tx) | add_subdirectory(tx) | ||||
add_subdirectory(common) | add_subdirectory(common) | ||||
add_subdirectory(vncconfig) | add_subdirectory(vncconfig) |
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) | |||||
message(FATAL_ERROR "cmake must be invoked with the top level directory") | |||||
endif() | |||||
add_executable(vncviewer | add_executable(vncviewer | ||||
fltk/Fl_Monitor_Arrangement.cxx | fltk/Fl_Monitor_Arrangement.cxx | ||||
fltk/Fl_Navigation.cxx | fltk/Fl_Navigation.cxx |
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) | |||||
message(FATAL_ERROR "cmake must be invoked with the top level directory") | |||||
endif() | |||||
include_directories(${CMAKE_SOURCE_DIR}/common ${CMAKE_SOURCE_DIR}/win) | include_directories(${CMAKE_SOURCE_DIR}/common ${CMAKE_SOURCE_DIR}/win) | ||||
configure_file(resdefs.h.in ${CMAKE_CURRENT_BINARY_DIR}/resdefs.h) | configure_file(resdefs.h.in ${CMAKE_CURRENT_BINARY_DIR}/resdefs.h) |