Index: cmake/modules/HandleLLVMOptions.cmake =================================================================== --- cmake/modules/HandleLLVMOptions.cmake +++ cmake/modules/HandleLLVMOptions.cmake @@ -849,6 +849,13 @@ set(LLVM_ENABLE_PLUGINS ON) endif() +set(LLVM_ENABLE_IDE_default OFF) +if (XCODE OR MSVC_IDE OR CMAKE_EXTRA_GENERATOR) + set(LLVM_ENABLE_IDE_default ON) +endif() +option(LLVM_ENABLE_IDE "Generate targets and process sources for use with an IDE" + ${LLVM_ENABLE_IDE_default}) + function(get_compile_definitions) get_directory_property(top_dir_definitions DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS) foreach(definition ${top_dir_definitions}) Index: cmake/modules/LLVMProcessSources.cmake =================================================================== --- cmake/modules/LLVMProcessSources.cmake +++ cmake/modules/LLVMProcessSources.cmake @@ -52,7 +52,7 @@ cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS;ADDITIONAL_HEADER_DIRS" ${ARGN}) set(sources ${ARG_UNPARSED_ARGUMENTS}) llvm_check_source_file_list( ${sources} ) - if( MSVC_IDE OR XCODE ) + if( LLVM_ENABLE_IDE ) # This adds .td and .h files to the Visual Studio solution: add_td_sources(sources) find_all_header_files(hdrs "${ARG_ADDITIONAL_HEADER_DIRS}")