Building CEF3 with Ninja on OS X

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Building CEF3 with Ninja on OS X

Postby nathansobo » Mon Jul 09, 2012 4:05 pm

I'm trying to get CEF3 building on OS X with Ninja because it's much faster for incremental compiles.

I set GYP_DEFINES=ninja and ran the gclient hooks to generate a ninja build in src/out/Debug and src/out/Release. I am able to build the libcef target, but when I try to build cefclient, I get the following warning and error:

ninja: WARNING: multiple rules generate cef_unittests.app/Contents/Frameworks/Chromium Embedded Framework.framework/Resources/locale.pak. build will not be correct; continuing anyway
ninja: ERROR: 'obj/cef/cefclient.gen/repack/zh_TW.lproj/locale.pak', needed by 'cefclient.app/Contents/Frameworks/Chromium Embedded Framework.framework/Resources/locale.pak', missing and no known rule to make it

I saw a changelog with a patch to CEF 1 to get it building with ninja on OS X (haven't tried that). Has anyone managed to get CEF3 building with ninja?

Thanks.
nathansobo
Newbie
 
Posts: 7
Joined: Sat Nov 05, 2011 4:25 pm

Re: Building CEF3 with Ninja on OS X

Postby magreenblatt » Sat Jul 14, 2012 8:54 am

This is a known problem. It may be necessary to change CEF's GYP files so that they play nice with Ninja, or perhaps to fix the Ninja GYP generator.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Building CEF3 with Ninja on OS X

Postby ilyh76 » Sun Dec 30, 2012 11:04 pm

I've managed to use Ninja for a build on OS X.

Above problem can be worked around by manually building the cef_locales target and then in the src/out/Debug/obj/cef directory, copy or link cef_locales.gen to cefclient.gen. You'll only need to do this when the localized strings changed.

Another problem is that the current cef.gyp wasn't fixing the Framework link correctly. After line 461, in "xcode_settings" section of the "libcef" target, add something like "'DYLIB_INSTALL_NAME_BASE':'@executable_path',".

Please note that I'm using the trunk of cef3.
ilyh76
Newbie
 
Posts: 1
Joined: Sun Dec 30, 2012 10:51 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 202 guests

cron