From b924b8b56c8a2053a0b79682b2bddba9bd04f00f Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Mon, 20 Jan 2014 10:20:23 +0000 Subject: [PATCH] [CMake] llvm_process_sources: Introduce a parameter, ADDITIONAL_HEADERS. ADDITIONAL_HEADERS is intended to add header files for IDEs as hint. For example: add_llvm_library(LLVMSupport Host.cpp ADDITIONAL_HEADERS Unix/Host.inc Windows/Host.inc ) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199639 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/LLVMProcessSources.cmake | 6 ++++-- lib/Support/CMakeLists.txt | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake index 2cef6cfc3a3..4ad97575071 100644 --- a/cmake/modules/LLVMProcessSources.cmake +++ b/cmake/modules/LLVMProcessSources.cmake @@ -38,7 +38,8 @@ endmacro(add_header_files) function(llvm_process_sources OUT_VAR) - set( sources ${ARGN} ) + cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS" ${ARGN}) + set(sources ${ARG_UNPARSED_ARGUMENTS}) llvm_check_source_file_list( ${sources} ) # Create file dependencies on the tablegenned files, if any. Seems # that this is not strictly needed, as dependencies of the .cpp @@ -50,9 +51,10 @@ function(llvm_process_sources OUT_VAR) endforeach(s) if( MSVC_IDE OR XCODE ) # This adds .td and .h files to the Visual Studio solution: - # FIXME: Shall we handle *.def here? add_td_sources(sources) add_header_files(sources) + set_source_files_properties(${ARG_ADDITIONAL_HEADERS} PROPERTIES HEADER_FILE_ONLY ON) + list(APPEND sources ${ARG_ADDITIONAL_HEADERS}) endif() # Set common compiler options: diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt index dcc4b524919..a6ebb12e51a 100644 --- a/lib/Support/CMakeLists.txt +++ b/lib/Support/CMakeLists.txt @@ -89,6 +89,8 @@ add_llvm_library(LLVMSupport TimeValue.cpp Valgrind.cpp Watchdog.cpp + + ADDITIONAL_HEADERS Unix/Host.inc Unix/Memory.inc Unix/Mutex.inc