[LLVMdev] Build problems and workarounds with CMake and XCode

Samuel Crow samuraileumas at yahoo.com
Wed Jan 5 19:10:51 PST 2011





----- Original Message ----
> From: Óscar Fuentes <ofv at wanadoo.es>
> To: Samuel Crow <samuraileumas at yahoo.com>
> Cc: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
> Sent: Wed, January 5, 2011 5:00:00 PM
> Subject: Re: Build problems and workarounds with CMake and XCode
> 
> Samuel Crow <samuraileumas at yahoo.com>  writes:
> 
> [snip]
> 
> > I tried making a separate build of LLVM SVN in  XCode using build files 
>created 
>
> > with CMake.  Surprisingly, it  worked better than Eclipse!  The Build_All 
>target 
>
> > completed its  build.  The install target was another story though.  First of 
>
> > all, the commands to install with the terminal command-line needed to  be 
> > prefaced with sudo to work.
> 
> Have you permissions for those  directories?
> 

I'm running in user mode with root equivalence added temporarily to my account. 
 Macs always require you to sudo to access the system directories even when 
you're logged in as an administrator.

It's possible that this may be a CMake bug/oversight.

> >  Secondly, those commands, when executed from  XCode, 
> > have no open console to prompt for a password.
> 
> That lies  outside cmake and/or XCode capabilities, I guess.
> 

It's an Macintosh-ism.  Most files run from icons do not open a text console. 
 My past experience with some Linux GUI toolkits are similar.

> > My workaround for  that was to write a small utility in Qt to prompt for a 
> > password and  return it in stdout.  I then set the path of that utility to 
>the 
>
> >  SUDO_ASKPASS environment variable so I could set the scripts to run sudo -A 

> > command instead of sudo command.  This unearthed a second  problem.  In my 
>debug 
>
> > build, the script looked in the release  directory for LLVMSupport.a and 
>failed 
>
> > as a result of  it.
> >
> > At this point I'm building a release build so I can install  the debug build. 
>
> >  If Óscar or somebody more familiar than I at  CMake would look into the 
>issue of 
>
> > the release install in the debug  build, I'd appreciate it.
> 
> I'm not sure what the problem is. Never used  XCode nor I have access to
> it. What are those scripts? The install scripts  generated by CMake for
> XCode?
> 

The CMake script generated the XCode project file so I'm assuming it's a problem 
either with CMake or the CMake scripts.  XCode targets are similar to make 
targets except that parallel processing is generally implied without any added 
flags (like make -j).  If this turns out to be a deficiency in CMake itself then 
most of this discussion can probably be moved to the CMake mailing list.

My main concern with the CMake scripts is that they required a release-build 
file while making a debug-build install.  This ought not to be.

The rest of my workarounds can be easily fixed by CMake or XCode including a 
graphical password requester for the sudo -A flag to use.  If it's CMake that 
needs it, I can provide source to mine since I used the same GUI toolkit as 
CMake uses.  Really it's just a class wrapper for a ready-made requester that 
comes built in to Qt anyway.

I hope this clears up what I was trying to say,

--Sam


      




More information about the llvm-dev mailing list