Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build automation for cef-binary #5

Closed
jornh opened this issue Mar 25, 2014 · 6 comments
Closed

Build automation for cef-binary #5

jornh opened this issue Mar 25, 2014 · 6 comments

Comments

@jornh
Copy link
Contributor

jornh commented Mar 25, 2014

Over in the CefSharp repo - in cefsharp/CefSharp#288 (comment) @perlun suggested better automation. I think this belong in this repo - so here's an issue for it, with my comments so far ...

I started looking at creating a Rakefile for this, but it's not done yet. It might be that I won't have time for completing it until next week.

Hey, I thought you said with a Rakefile it would be a one-liner ... did you stop in the middle of the line ;-)

My idea is to provide vs2010, vs2012 and vs2013 targets, which will then launch the vsvars32.bat file for the proper VS version, and run msbuild. That way, you won't have to start up the right Developer Command Prompt; you can just make all of the targets at once using one single Rake command.

Brilliant thought - I have actually started the same - but in BAT ... eek ... based on https://github.com/coapp-packages/pixman/blob/master/COPKG/build.bat

I know you might not be a big Ruby fan (yet ) but I feel it will be very convenient that way. Yes, people might have to do cinst ruby but that's something that they should be doing anyway... Besides, the number of people hacking on cef-binary is very low anyway so a slightly higher requirement in terms of tooling is quite OK as far as I'm concerned. (AFAIC?)

I'll see if I can get to it before you. cinst'ing (should be a word!) FTW

@perlun
Copy link
Member

perlun commented Mar 25, 2014

Hey, I thought you said with a Rakefile it would be a one-liner ... did you stop in the middle of the line 😉

No comments... 😄

I'll see if I can get to it before you.

Be my guest! Here is my attempt so far. As you see, I didn't get very far. 😉 The hard bit is about chaining the vsvars32.bat call with the msbuild call; they need to run inside the same cmd.exe instance (since the VS vars & path settings must persist to msbuild). If you can get that working, the rest should be quite simple:

desc 'Compile using VS2010, VS2012 and VS2013. Note that this requires all toolchains to be installed and available.'
task :default => [ :vs2012 ]

# TODO: implement
#desc 'Compile using VS2010 tools'
#task :vs2010 do
#end

desc 'Compile using VS2012 tools'
task :vs2012 do
  sh 'cmd /c C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat'
end

# TODO: implement
#desc 'Compile using VS2013 tools'
#task :vs2013 do
#end

cinst'ing (should be a word!) FTW

It is a word. You just created it. 😀

jornh added a commit that referenced this issue Mar 28, 2014
This is what was used to build the cef.sdk.3.1650.1562-pre2 NuGet currently on staging.nuget.org
It comes with extra DRYness which CefSharp.Core now relies on since the SHA a7590937 commit jornh/CefSharp@a759093
    <CefSdkVer>cef.sdk.3.1650.1562-pre2</CefSdkVer> in cef.sdk.props does that

Note: Contents in the CEF/ folder is currently still a manual cherrypick from building upstream CEF
Resolution of this is tracked in #5
@perlun
Copy link
Member

perlun commented Mar 28, 2014

Btw, I already added the Rakefile into the repo if you didn't already see it.

@jornh
Copy link
Contributor Author

jornh commented Mar 28, 2014

Yes, saw it. Good start and the &&'s are a neat solution to the chaining problem. 👍

Still first I think I will spend a little time on tightening things up on native NuGets etc. & follow up with FAQ etc. when people start using them ...

@perlun
Copy link
Member

perlun commented Mar 28, 2014

Yes, saw it. Good start and the &&'s are a neat solution to the chaining problem.

Thanks. I didn't know about && on Windows myself, but apparently, it's there...

Still first I think I will spend a little time on tightening things up on native NuGets etc. & follow up with FAQ etc. when people start using them ...

I see. My reference to FAQ was more so we can avoid the (obvious) question of "why can I not just clone the CefSharp code and build" (since the package restore needs to be done manually).

@jornh
Copy link
Contributor Author

jornh commented Mar 28, 2014

Yes - both the obvious one you mention and probably other variants that will crop up. There recently was some "FUD"/confusion in the Google group regarding NuGet references etc. And I think I actually might have added to it with my comment there. 😢 needs to be straightened out ...

@jornh
Copy link
Contributor Author

jornh commented Oct 25, 2014

With the excellent build.ps1 from #11 this is resolved. Only downside is there's no .rb in it 😆 we'll simply have to live with that.

@jornh jornh closed this as completed Oct 25, 2014
merceyz pushed a commit that referenced this issue Apr 12, 2017
This is what was used to build the cef.sdk.3.1650.1562-pre2 NuGet currently on staging.nuget.org
It comes with extra DRYness which CefSharp.Core now relies on since the SHA a7590937 commit jornh/CefSharp@a759093
    <CefSdkVer>cef.sdk.3.1650.1562-pre2</CefSdkVer> in cef.sdk.props does that

Note: Contents in the CEF/ folder is currently still a manual cherrypick from building upstream CEF
Resolution of this is tracked in #5

Former-commit-id: 2a52f02e08a3afebfe124a06b6ab14700e7d2497
merceyz pushed a commit that referenced this issue Apr 12, 2017
This is what was used to build the cef.sdk.3.1650.1562-pre2 NuGet currently on staging.nuget.org
It comes with extra DRYness which CefSharp.Core now relies on since the SHA a7590937 commit jornh/CefSharp@a759093
    <CefSdkVer>cef.sdk.3.1650.1562-pre2</CefSdkVer> in cef.sdk.props does that

Note: Contents in the CEF/ folder is currently still a manual cherrypick from building upstream CEF
Resolution of this is tracked in #5

Former-commit-id: 2a52f02e08a3afebfe124a06b6ab14700e7d2497
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants