I have logic similar to this in some of my middleware libraries' root CMakeLists.txt: if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) set( STANDALONE TRUE ) endif() Is there a built-in way to detect this?