Supporting Visual C±± projects

Vivek G's Avatar

Vivek G

23 Oct, 2013 12:30 AM

Hello AppVeyor team,

Are there any plans to support visual c++ projects?

Thanks,
Vivek

  1. Support Staff 1 Posted by Feodor Fitsner on 23 Oct, 2013 03:29 AM

    Feodor Fitsner's Avatar

    Hi Vivek,

    Thanks for your interest in AppVeyor!

    Both VS.NET 2010 and 2012 C++ projects should be supported. Please give a try and let me know if you find any issues with that.

    -Feodor

  2. 2 Posted by Vivek Galatage on 23 Oct, 2013 03:37 AM

    Vivek Galatage's Avatar

    Hi Feodor,

    Thanks for the quick response.

    Actually before posting the question, I tried to setup my github repo and
    run into this error:
    https://ci.appveyor.com/api/projects/log?projectVersionId=22976

    Any help resolving the issue?

    BR,
    Vivek

  3. Support Staff 3 Posted by Feodor Fitsner on 23 Oct, 2013 04:01 AM

    Feodor Fitsner's Avatar

    Is it a public project? What's repo URL?

  4. 4 Posted by Vivek Galatage on 23 Oct, 2013 04:28 AM

    Vivek Galatage's Avatar
  5. Support Staff 5 Posted by Feodor Fitsner on 23 Oct, 2013 04:41 AM

    Feodor Fitsner's Avatar

    OK, I see. The error AppVeyor throws is a bit unfriendly, but apparently it cannot parse DSLibrary.sln file!

    You can try the following options:
    1) Upgrade solution/projects to either VS 2010 or 2012 (2013 support is coming)
    2) Run build using script, i.e. commit build.cmd into repo with commands required to build the project.

  6. 6 Posted by Vivek Galatage on 23 Oct, 2013 05:48 AM

    Vivek Galatage's Avatar

    I updated the solution file to match with 2010 version and now I am getting
    the below build log. On my local machine the above script works fine.

    https://ci.appveyor.com/api/projects/log?projectVersionId=23012

    d:\Builds\lqajdhgu0r\src>git submodule init

    d:\Builds\lqajdhgu0r\src>git submodule update

    d:\Builds\lqajdhgu0r\src>msbuild DSLibrary.sln
    Microsoft (R) Build Engine version 4.0.30319.17929
    [Microsoft .NET Framework, version 4.0.30319.18051]
    Copyright (C) Microsoft Corporation. All rights reserved.

    Building the projects in this solution one at a time. To enable parallel
    build, please add the "/m" switch.
    Build started 10/23/2013 5:44:01 AM.
    Project "d:\Builds\lqajdhgu0r\src\DSLibrary.sln" on node 1 (default
    targets).
    ValidateSolutionConfiguration:
      Building solution configuration "Debug|Win32".
    Project "d:\Builds\lqajdhgu0r\src\DSLibrary.sln" (1) is building
    "d:\Builds\lqajdhgu0r\src\libds.vcxproj" (2) on node 1 (default targets).
    d:\Builds\lqajdhgu0r\src\libds.vcxproj(18,3): error MSB4019: The imported
    project "d:\Microsoft.Cpp.Default.props" was not found. Confirm that the
    path in the <Import> declaration is correct, and that the file exists on
    disk.
    Done Building Project "d:\Builds\lqajdhgu0r\src\libds.vcxproj" (default
    targets) -- FAILED.
    Done Building Project "d:\Builds\lqajdhgu0r\src\DSLibrary.sln" (default
    targets) -- FAILED.

    Build FAILED.

    "d:\Builds\lqajdhgu0r\src\DSLibrary.sln" (default target) (1) ->
    "d:\Builds\lqajdhgu0r\src\libds.vcxproj" (default target) (2) ->
      d:\Builds\lqajdhgu0r\src\libds.vcxproj(18,3): error MSB4019: The imported
    project "d:\Microsoft.Cpp.Default.props" was not found. Confirm that the
    path in the <Import> declaration is correct, and that the file exists on
    disk.

        0 Warning(s)
        1 Error(s)

    Time Elapsed 00:00:00.20

  7. 7 Posted by Vivek Galatage on 23 Oct, 2013 06:40 AM

    Vivek Galatage's Avatar
  8. Support Staff 8 Posted by Feodor Fitsner on 23 Oct, 2013 06:53 AM

    Feodor Fitsner's Avatar

    Yes, I found the same article.

    I added "VCTargetsPath" to the registry. In fact, it already exists, but under "wow6432node". AppVeyor uses 64-bit tools by default and that might be a problem.

    Give it a try now.

  9. 9 Posted by Vivek Galatage on 23 Oct, 2013 07:08 AM

    Vivek Galatage's Avatar

    Wow! Great... its working now! thanks for your help and support, really
    appreciate your time on it. :)

  10. Support Staff 10 Posted by Feodor Fitsner on 23 Oct, 2013 07:10 AM

    Feodor Fitsner's Avatar

    Great! I'll add that into instructions for setting up new build servers.

    Btw, probably it makes sense for AppVeyor to switch build process to x86 tools only...

  11. Feodor Fitsner closed this discussion on 23 Oct, 2013 07:10 AM.

  12. Vivek Galatage re-opened this discussion on 23 Oct, 2013 07:20 AM

  13. 11 Posted by Vivek Galatage on 23 Oct, 2013 07:20 AM

    Vivek Galatage's Avatar

    Sure, yeah locally although I am on 64bit windows, I am using the x86
    toolchain from visual studio.

    One more thing, I figured out that the AppVeyor changes the generated
    executable name to match with the project name.

  14. 12 Posted by Vivek Galatage on 23 Oct, 2013 07:21 AM

    Vivek Galatage's Avatar

    Oops I accidently hit ctrl+enter and the message was sent. Continuing here:

    One more thing, I figured out that the AppVeyor changes the generated
    executable name to match with the project name.
    My project generates libds.lib and unitTestRunner.exe as part of MSBuild.
    Whereas AppVeyor generates dslibrary.exe as the name of the executable.

    Is this done explicitly due to some security concerns etc?

  15. Support Staff 13 Posted by Feodor Fitsner on 23 Oct, 2013 04:13 PM

    Feodor Fitsner's Avatar

    Sure, I'm looking into this right now.

  16. Support Staff 14 Posted by Feodor Fitsner on 23 Oct, 2013 05:00 PM

    Feodor Fitsner's Avatar

    OK, found the problem!

    C++ project defines target executable name as "$(ProjectName)", but coincidentally :) the same environment variable is used for passing AppVeyor's project name.

    I will put a task to rename AppVeyor variables (have to check that nothing is broken).

    For now you can add "set ProjectName=" in the beginning of build.bat to reset var. See updated script:
    https://github.com/FeodorFitsner/DSLibrary/blob/master/build.bat

    Do not forget to change a path to exe on "Packaging" tab.

  17. 15 Posted by Vivek Galatage on 23 Oct, 2013 05:03 PM

    Vivek Galatage's Avatar

    Awesome. I will update my batch script accordingly. Thanks :-)

  18. Support Staff 16 Posted by Feodor Fitsner on 23 Oct, 2013 05:04 PM

    Feodor Fitsner's Avatar

    No prob! Our ultimate goal is to make AppVeyor a first-class home for Windows projects of any type and language! ;)

  19. Feodor Fitsner closed this discussion on 23 Oct, 2013 05:04 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac