Brand New to ownCloud Dev – Compile Client in Visual Studio

I have been tasked with taking the ownCloud Desktop client source code (Community edition – C++), compiling it, and then seeing if there was a way to brand it. After a couple of days, I have made some “progress” I suppose but have ultimately not accomplished the task. My background is I am a .NET developer familiar with the Visual Studio IDE using primarily VB/C#, but some C++ in the distant past.

I have read and attempted to follow the parts of Appendix A that pertain to Windows development: https://doc.owncloud.org/desktop/latest/building.html#windows-development-build

One thing I am struggling with are all the disparate parts that go into this. Clearly the world of open-source is not the tidy world I am used to. I am either getting errors installing referenced items (Ex: MinGW) or so much is glossed over in their use, I don’t know exactly what to do and where to do it (Ex: Git).

I have now decided to stop and follow a different path. My IDE of choice is Visual Studio 2015 Professional, which can obviously debug and compile C++ code. I prefer to use it instead of say “MinGW”, which I cannot even get to install.

So my questions are: 1) Does anyone have experience compiling the ownCloud Desktop client open-source code (Community edition – C++) using Visual Studio? 2) Do I need to use Git at all in any of this? I have TFS as a source code repository, 3) How does “QT” figure in all this? (lots of “Cannot open include file” errors for this in VS), 4) What other dependencies would be necessary, if any?

As it stands now, I have downloaded the Zip source files for the ownCloud desktop client from GitHub and created a “solution” of them using Visual Studio 2015, but currently have lots of “Cannot open include file” errors referencing things like QtTest, ‘QCoreApplication’, ‘QObject’, etc. I know how to fix these but what do I need to install?

Apologize for the broadness of my question but the boss seems to think this would be a simple download and compile task, which it is clearly not turning out to be.

Previously (pre-2.5) the ownCloud desktop sync client was built on Linux using the MinGW toolchain. With 2.5.0 we switched to native MSVC builds with some help of KDE Craft. A talk is planned for next weeks ownCloud conference in Nuremberg about the new process, and we’ll update the documentation too.

Here you can find the current state:
https://github.com/owncloud/craft-blueprints-owncloud

2 Likes

Thanks for the clarification Michael. I will monitor this after the conference.

@MSanchez Please check the new blog post:
https://owncloud.org/news/interview-kde-craft-improves-owncloud-client-build-process/

1 Like