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

Paket and C++ projects? #1467

Closed
konste opened this issue Feb 9, 2016 · 27 comments
Closed

Paket and C++ projects? #1467

konste opened this issue Feb 9, 2016 · 27 comments

Comments

@konste
Copy link
Contributor

konste commented Feb 9, 2016

My colleague reported that Paket does not work right for C++ projects, while NuGet does.
What is the design decision here - is it even supposed to support C++ projects or not?
If it supposed to support C++, then I gather more details about the problem from my colleague.
If it is not supposed to support C++, then can we have Paket and NuGet used in the same solution?

Thank you!
Konstantin

@forki
Copy link
Member

forki commented Feb 9, 2016

I will try it out

@forki
Copy link
Member

forki commented Feb 9, 2016

what is the correct project file ending?

@forki
Copy link
Member

forki commented Feb 9, 2016

Ok. let's make this a thing. paket 2.50.0 comes with experimental support for vcxproj. Please let me know how badly it breaks you.

granate

@konste
Copy link
Contributor Author

konste commented Feb 9, 2016

Looks encouraging... But we are brave! My colleague Tommy, who mostly cares about C++ will be looking at it shortly. Thanks for the swift response!

@forki
Copy link
Member

forki commented Feb 9, 2016

yeah I added a small integration test with a "file new C++ project". It seems to reference it correctly, but I assume this is only the tip of the iceberg.

@tommysu
Copy link

tommysu commented Feb 9, 2016

Thanks, I plan on giving a go today. A quick question will be what do you recommend we put for the "framework" or should I just leave that out?

@forki
Copy link
Member

forki commented Feb 9, 2016

in the dependencies file?

Good question. I guess start by leaving it out.

@forki
Copy link
Member

forki commented Feb 9, 2016

to clarify: I want to make this useful for C++, but since I don't use C++ myself it will likely involve some ping pong during the initial dev/testing phase.

@tommysu
Copy link

tommysu commented Feb 9, 2016

Yea, in the dependencies file. I'm going to try it empty. In nuget we would do something like this: . I'm giving 2.50 a try and will let you know soon the result.

@forki
Copy link
Member

forki commented Feb 9, 2016

better remove the line completey (at least for now) we can add it back later when we know the correct framework monikers.

@tommysu
Copy link

tommysu commented Feb 9, 2016

This was able to include the library files correctly. However, one thing that it was missing was the target files.

An example is:

 <ImportGroup Label="ExtensionTargets">
    <Import Project="..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.7.0\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" />

When following the nuget instructions for this package:

https://github.com/Microsoft/cpprestsdk/wiki/Getting-Started-Tutorial

@forki
Copy link
Member

forki commented Feb 9, 2016

ok will look at this tommorow.

@forki
Copy link
Member

forki commented Feb 10, 2016

@tommysu can you please send me the project that you get after "getting started" using Nuget? sforkmann at gmail

@tommysu
Copy link

tommysu commented Feb 10, 2016

Sent.

@forki
Copy link
Member

forki commented Feb 10, 2016

I'm pushing a new version but I'm not sure if the "when conditions" are generated properly. So I assume we need to iterate on that. But it is progress ;-)

@forki
Copy link
Member

forki commented Feb 10, 2016

Ok release failed. I broke another integration test. Good thing that we have these in place. Will look into this tomorrow.

@forki
Copy link
Member

forki commented Feb 11, 2016

Ok the version is released

@tommysu
Copy link

tommysu commented Feb 11, 2016

It appears that the project file will get corrupted it. It generates a When condition with uneven number of ' marks. And Visual Studio will complain of An unexecpted token "=="

 <Choose>
    <When Condition="$(Platform)'=='Debug|Win32'">

@forki
Copy link
Member

forki commented Feb 11, 2016

ah. my copy paste bug. fixing it now.

@forki
Copy link
Member

forki commented Feb 11, 2016

fixed that

@tommysu
Copy link

tommysu commented Feb 11, 2016

Sorry for going back and forth. But it looks like the target file path is incorrect.

<Import Project="..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn\build\$(__paket__cpprestsdk_v120_winapp_msvcstl_dyn_rt-dyn_targets).targets" Condition="Exists('..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn\build\$(__paket__cpprestsdk_v120_winapp_msvcstl_dyn_rt-dyn_targets).targets')" Label="Paket" />

It should be something like \build\native$(...).targets

@forki
Copy link
Member

forki commented Feb 11, 2016

Ah I see. Yes this is completely different to the other target framework
stuff.
On Feb 11, 2016 10:44 PM, "tommysu" [email protected] wrote:

Sorry for going back and forth. But it looks like the target file path is
incorrect.

It should be something like \build\native$(...).targets


Reply to this email directly or view it on GitHub
#1467 (comment).

@forki
Copy link
Member

forki commented Feb 13, 2016

Ok another fix deployed. Please run "paket clear-cache" before you try again.

@tommysu
Copy link

tommysu commented Feb 13, 2016

Awesome, that works! I'll let you know if I run into any more issues.

@forki
Copy link
Member

forki commented Feb 13, 2016

Wow. Cool.
On Feb 13, 2016 8:35 PM, "tommysu" [email protected] wrote:

Awesome, that works! I'll let you know if I run into any more issues.


Reply to this email directly or view it on GitHub
#1467 (comment).

@forki
Copy link
Member

forki commented Feb 13, 2016

Closing this one.

Please open new issues for the new issues you find.

@forki forki closed this as completed Feb 13, 2016
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

3 participants