[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
This revision was automatically updated to reflect the committed changes. Closed by commit rL359654: lib/Header: Fix Visual Studio builds try #2 (authored by tstellar, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D61220?vs=197244=197506#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61220/new/ https://reviews.llvm.org/D61220 Files: cfe/trunk/lib/Headers/CMakeLists.txt Index: cfe/trunk/lib/Headers/CMakeLists.txt === --- cfe/trunk/lib/Headers/CMakeLists.txt +++ cfe/trunk/lib/Headers/CMakeLists.txt @@ -128,6 +128,7 @@ set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include) set(out_files) +set(generated_files) function(copy_header_to_output_dir src_dir file) set(src ${src_dir}/${file}) @@ -147,6 +148,8 @@ copy_header_to_output_dir(${CMAKE_CURRENT_BINARY_DIR} ${out_file}) set(out_files ${out_files} PARENT_SCOPE) + list(APPEND generated_files "${CMAKE_CURRENT_BINARY_DIR}/${out_file}") + set(generated_files ${generated_files} PARENT_SCOPE) endfunction(clang_generate_header) @@ -166,13 +169,23 @@ FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") -set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) +set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) install( - DIRECTORY ${output_dir} + FILES ${files} ${generated_files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) +install( + FILES ${cuda_wrapper_files} + DESTINATION ${header_install_dir}/cuda_wrappers + COMPONENT clang-resource-headers) + +install( + FILES ${ppc_wrapper_files} + DESTINATION ${header_install_dir}/ppc_wrappers + COMPONENT clang-resource-headers) + if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-resource-headers DEPENDS clang-resource-headers Index: cfe/trunk/lib/Headers/CMakeLists.txt === --- cfe/trunk/lib/Headers/CMakeLists.txt +++ cfe/trunk/lib/Headers/CMakeLists.txt @@ -128,6 +128,7 @@ set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include) set(out_files) +set(generated_files) function(copy_header_to_output_dir src_dir file) set(src ${src_dir}/${file}) @@ -147,6 +148,8 @@ copy_header_to_output_dir(${CMAKE_CURRENT_BINARY_DIR} ${out_file}) set(out_files ${out_files} PARENT_SCOPE) + list(APPEND generated_files "${CMAKE_CURRENT_BINARY_DIR}/${out_file}") + set(generated_files ${generated_files} PARENT_SCOPE) endfunction(clang_generate_header) @@ -166,13 +169,23 @@ FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") -set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) +set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) install( - DIRECTORY ${output_dir} + FILES ${files} ${generated_files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) +install( + FILES ${cuda_wrapper_files} + DESTINATION ${header_install_dir}/cuda_wrappers + COMPONENT clang-resource-headers) + +install( + FILES ${ppc_wrapper_files} + DESTINATION ${header_install_dir}/ppc_wrappers + COMPONENT clang-resource-headers) + if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-resource-headers DEPENDS clang-resource-headers ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
smeenai accepted this revision. smeenai added a comment. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61220/new/ https://reviews.llvm.org/D61220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
tstellar updated this revision to Diff 197244. tstellar marked an inline comment as done. tstellar added a comment. Make sure to install the generated files. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61220/new/ https://reviews.llvm.org/D61220 Files: clang/lib/Headers/CMakeLists.txt Index: clang/lib/Headers/CMakeLists.txt === --- clang/lib/Headers/CMakeLists.txt +++ clang/lib/Headers/CMakeLists.txt @@ -127,7 +127,11 @@ ) set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include) + +set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) + set(out_files) +set(generated_files) function(copy_header_to_output_dir src_dir file) set(src ${src_dir}/${file}) @@ -147,6 +151,8 @@ copy_header_to_output_dir(${CMAKE_CURRENT_BINARY_DIR} ${out_file}) set(out_files ${out_files} PARENT_SCOPE) + list(APPEND generated_files "${CMAKE_CURRENT_BINARY_DIR}/${out_file}") + set(generated_files ${generated_files} PARENT_SCOPE) endfunction(clang_generate_header) @@ -166,13 +172,21 @@ FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") -set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) - install( - DIRECTORY ${output_dir} + FILES ${files} ${generated_files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) +install( + FILES ${cuda_wrapper_files} + DESTINATION ${header_install_dir}/cuda_wrappers + COMPONENT clang-resource-headers) + +install( + FILES ${ppc_wrapper_files} + DESTINATION ${header_install_dir}/ppc_wrappers + COMPONENT clang-resource-headers) + if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-resource-headers DEPENDS clang-resource-headers Index: clang/lib/Headers/CMakeLists.txt === --- clang/lib/Headers/CMakeLists.txt +++ clang/lib/Headers/CMakeLists.txt @@ -127,7 +127,11 @@ ) set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include) + +set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) + set(out_files) +set(generated_files) function(copy_header_to_output_dir src_dir file) set(src ${src_dir}/${file}) @@ -147,6 +151,8 @@ copy_header_to_output_dir(${CMAKE_CURRENT_BINARY_DIR} ${out_file}) set(out_files ${out_files} PARENT_SCOPE) + list(APPEND generated_files "${CMAKE_CURRENT_BINARY_DIR}/${out_file}") + set(generated_files ${generated_files} PARENT_SCOPE) endfunction(clang_generate_header) @@ -166,13 +172,21 @@ FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") -set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) - install( - DIRECTORY ${output_dir} + FILES ${files} ${generated_files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) +install( + FILES ${cuda_wrapper_files} + DESTINATION ${header_install_dir}/cuda_wrappers + COMPONENT clang-resource-headers) + +install( + FILES ${ppc_wrapper_files} + DESTINATION ${header_install_dir}/ppc_wrappers + COMPONENT clang-resource-headers) + if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-resource-headers DEPENDS clang-resource-headers ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
vzakhari added a comment. OK, this should work while clang_generate_header() is used for plain files. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61220/new/ https://reviews.llvm.org/D61220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
tstellar updated this revision to Diff 197233. tstellar added a comment. - Fix install directory - Use a separate install targets for each sub-directory like it was done before r355253. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61220/new/ https://reviews.llvm.org/D61220 Files: clang/lib/Headers/CMakeLists.txt Index: clang/lib/Headers/CMakeLists.txt === --- clang/lib/Headers/CMakeLists.txt +++ clang/lib/Headers/CMakeLists.txt @@ -166,13 +166,23 @@ FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") -set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) +set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) install( - DIRECTORY ${output_dir} + FILES ${files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) +install( + FILES ${cuda_wrapper_files} + DESTINATION ${header_install_dir}/cuda_wrappers + COMPONENT clang-resource-headers) + +install( + FILES ${ppc_wrapper_files} + DESTINATION ${header_install_dir}/ppc_wrappers + COMPONENT clang-resource-headers) + if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-resource-headers DEPENDS clang-resource-headers Index: clang/lib/Headers/CMakeLists.txt === --- clang/lib/Headers/CMakeLists.txt +++ clang/lib/Headers/CMakeLists.txt @@ -166,13 +166,23 @@ FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") -set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) +set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) install( - DIRECTORY ${output_dir} + FILES ${files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) +install( + FILES ${cuda_wrapper_files} + DESTINATION ${header_install_dir}/cuda_wrappers + COMPONENT clang-resource-headers) + +install( + FILES ${ppc_wrapper_files} + DESTINATION ${header_install_dir}/ppc_wrappers + COMPONENT clang-resource-headers) + if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-resource-headers DEPENDS clang-resource-headers ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
vzakhari added inline comments. Comment at: clang/lib/Headers/CMakeLists.txt:176 install( - DIRECTORY ${output_dir} + FILES ${install_files} DESTINATION ${header_install_dir} vzakhari wrote: > This is going to flatten the headers' install directory structure. install() > will put the files just by their name. > > I had a local fix that use install() with RENAME, and it worked. I can try > to find it. Basically, we need to keep two lists: > 1. The same as this ${install_files} > 2. New list install_as, which holds all ${src} values passed to > copy_header_to_output_dir() > > Walking the two lists together we may use install(FILES > ${elt_from_install_files} RENAME ${elt_from_install_as} ...) Correction. > New list install_as, which holds all ${src} values passed to > copy_header_to_output_dir() Should be New list install_as, which holds all ${file} values passed to copy_header_to_output_dir() Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61220/new/ https://reviews.llvm.org/D61220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
vzakhari added inline comments. Comment at: clang/lib/Headers/CMakeLists.txt:173 set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) Please add "/include" at the end. Comment at: clang/lib/Headers/CMakeLists.txt:176 install( - DIRECTORY ${output_dir} + FILES ${install_files} DESTINATION ${header_install_dir} This is going to flatten the headers' install directory structure. install() will put the files just by their name. I had a local fix that use install() with RENAME, and it worked. I can try to find it. Basically, we need to keep two lists: 1. The same as this ${install_files} 2. New list install_as, which holds all ${src} values passed to copy_header_to_output_dir() Walking the two lists together we may use install(FILES ${elt_from_install_files} RENAME ${elt_from_install_as} ...) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61220/new/ https://reviews.llvm.org/D61220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D61220: lib/Header: Fix Visual Studio builds try #2
tstellar created this revision. tstellar added reviewers: smeenai, vzakhari, phosek. Herald added a subscriber: mgorny. Herald added a project: clang. This is a follow up to r355253 and a better fix than the first attempt which was r359257. We can't install anything from ${CMAKE_CFG_INTDIR}, because this value is only defined at build time, but we still must make sure to copy the headers into ${CMAKE_CFG_INTDIR}/lib/clang/$VERSION/include, because the lit tests look for headers there. So for this fix we revert to the old behavior of copying the headers to ${CMAKE_CFG_INTDIR}/lib/clang/$VERSION/include during the build and then installing them from the source tree. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D61220 Files: clang/lib/Headers/CMakeLists.txt Index: clang/lib/Headers/CMakeLists.txt === --- clang/lib/Headers/CMakeLists.txt +++ clang/lib/Headers/CMakeLists.txt @@ -128,6 +128,7 @@ set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include) set(out_files) +set(install_files) function(copy_header_to_output_dir src_dir file) set(src ${src_dir}/${file}) @@ -138,6 +139,8 @@ COMMENT "Copying clang's ${file}...") list(APPEND out_files ${dst}) set(out_files ${out_files} PARENT_SCOPE) + list(APPEND install_files ${src}) + set(install_files ${install_files} PARENT_SCOPE) endfunction(copy_header_to_output_dir) function(clang_generate_header td_option td_file out_file) @@ -147,6 +150,7 @@ copy_header_to_output_dir(${CMAKE_CURRENT_BINARY_DIR} ${out_file}) set(out_files ${out_files} PARENT_SCOPE) + set(install_files ${install_files} PARENT_SCOPE) endfunction(clang_generate_header) @@ -169,7 +173,7 @@ set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) install( - DIRECTORY ${output_dir} + FILES ${install_files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) Index: clang/lib/Headers/CMakeLists.txt === --- clang/lib/Headers/CMakeLists.txt +++ clang/lib/Headers/CMakeLists.txt @@ -128,6 +128,7 @@ set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include) set(out_files) +set(install_files) function(copy_header_to_output_dir src_dir file) set(src ${src_dir}/${file}) @@ -138,6 +139,8 @@ COMMENT "Copying clang's ${file}...") list(APPEND out_files ${dst}) set(out_files ${out_files} PARENT_SCOPE) + list(APPEND install_files ${src}) + set(install_files ${install_files} PARENT_SCOPE) endfunction(copy_header_to_output_dir) function(clang_generate_header td_option td_file out_file) @@ -147,6 +150,7 @@ copy_header_to_output_dir(${CMAKE_CURRENT_BINARY_DIR} ${out_file}) set(out_files ${out_files} PARENT_SCOPE) + set(install_files ${install_files} PARENT_SCOPE) endfunction(clang_generate_header) @@ -169,7 +173,7 @@ set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) install( - DIRECTORY ${output_dir} + FILES ${install_files} DESTINATION ${header_install_dir} COMPONENT clang-resource-headers) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits