[prev in list] [next in list] [prev in thread] [next in thread] 

List:       llvm-dev
Subject:    Re: [LLVMdev] Why are the tablegen files excluded from source lists/
From:       Kuba Ober <kuba () mareimbrium ! org>
Date:       2014-03-10 16:21:19
Message-ID: 4A80BB9E-970F-498A-8EB9-DB6DD02C1486 () mareimbrium ! org
[Download RAW message or body]

Takumi,

Thank you for all the pointers, they have been quite helpful.

So, in a nutshell, it seems that both conditional checks below
can be removed:

* llvm/cmake/modules/LLVMProcessSources.cmake:45
* clang/CMakeLists.txt:295

I=92ve checked it with "Unix Makefile=94 and =93Ninja=94 generators, as both
are supported by Qt Creator.

  ***

> You may try to change "if(MSVC_IDE OR XCODE)" to "if(TRUE)" locally ;)

> * llvm/cmake/modules/LLVMProcessSources.cmake:45

I know about that one. As I=92ve said, I=92ve changed it and there
are seemingly no ill effects. I simply wonder if the conditional
should be permanently removed or set to TRUE, as it seems counterproductive.

> * llvm/CMakeLists.txt:255 LLVM_LIT_ARGS

This disables the progress bar for XCODE and MSVC. Probably neither
of those IDEs have the code to understand progress output, so it may
as well remain disabled. I see no reason to change it at the moment.

> * clang/CMakeLists.txt:295
>  It adds clang's public headers to each clang library.
>  Note that it would also require to tweak LLVMProcessSources.cmake.

This is interesting. You refer here to add_clang_library.
On the surface it seems to duplicate what=92s already
present in llvm_process_sources, but it only seems so. It calls
llvm_add_library, and that calls llvm_process_sources
if no OBJLIBS argument is given. Alas, it must be that OBJLIBS are
given, and llvm_process_sources is not called since the .td and .h
files are not added unless the conditional check is removed here.

Cheers, Kuba Ober

On Mar 10, 2014, at 9:55 AM, NAKAMURA Takumi <geek4civic@gmail.com> wrote:

> Kuba,
> =

> I think reasonable. I don't check changes on codeblocks, though.
> =

> Before we would tweak them to be generic to several IDEs, could you
> try my suggestions locally?
> You may try to change "if(MSVC_IDE OR XCODE)" to "if(TRUE)" locally ;)
> =

> * llvm/CMakeLists.txt:255 LLVM_LIT_ARGS
>  It affects "check-*" to run test scripts.
>    -s displays colorful progression. This assumes terminal window.
>    --no-progress-bar displays simple progression by text.
>    Without -s (-v), each test status will be put in console.
>  You may examine how to work to set LLVM_LIT_ARGS to arbitrary value.
> =

> * llvm/cmake/modules/LLVMProcessSources.cmake:45
>  It controls whether to add header files to project files.
>  To confirm this, please see LLVMSupport in your project viewer.
> =

> * llvm/include/llvm/CMakeLists.txt
>  It creates a dummy target, llvm_headers_do_not_build, to the project.
> =

> * clang/CMakeLists.txt:295
>  It adds clang's public headers to each clang library.
>  Note that it would also require to tweak LLVMProcessSources.cmake.
> =

> We don't intend to reject Code::Blocks. Simply just no one (in
> developers) didn't use one, AFAIK.
> Please be patient.
> =

> ...Takumi
> =

> 2014-03-09 7:52 GMT+09:00 Kuba Ober <kuba@mareimbrium.org>:
>> My problem is that the .td and .h files are not shown as sources
>> in the codeblocks (.cbp) output generated by cmake. I'm consuming
>> the .cbp file with Qt Creator - it's seems to be an otherwise
>> excellent tool for llvm development.
>> =

>> It seems that the culprit is llvm_process_sources
>> function in cmake/modules/LLVMProcessSources.cmake.
>> =

>> The addition of .td sources and header files is wrapped
>> in the following conditional:
>> =

>> if( MSVC_IDE OR XCODE )
>> =

>> Is this necessary at all? At least for codeblocks output,
>> removal of this conditional has no ill effects and adds the
>> .td and .h files to the sources list.
>> =

>> At the very least, this should be expanded to include codeblocks,
>> but I don't know what magical macro is set when producing the .cbp
>> file.
>> =

>> Are there any cmake outputs where the addition of those extra
>> sources would be an error?
>> =

>> Cheers, Kuba Ober
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev@cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev


_______________________________________________
LLVM Developers mailing list
LLVMdev@cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic