Development Workflow with CMake and VS2017

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Development Workflow with CMake and VS2017

R0b0t1
Hello list,

I apologize if this is slightly offtopic, but I have not yet found a
good way to manage dependencies on Windows. On Linux the dependencies
can be installed system wide, but on Windows this is typically not the
case.

I did see some CMake scripts that would download and install things
recursively, but I am not sure (badly) recreating a package manager is
a good idea. But is it the best way for now? What alternatives are
there?

As a usecase, imagine I just want to make a simple program that uses
e.g. FreeType2. I would also like to know of options where there is
either not a CMake build script, or when the library must be compiled
with MinGW.

It seems to me I should just stick to Cygwin or MSYS2.

Cheers,
    R0b0t1
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Development Workflow with CMake and VS2017

Innokentiy Alaytsev
Hello!

I usually just download prebuild binaries if they are available or build the
required dependency from sources. There are some libraries (and other
software) that are not Windows-friendly (These products are still considered
cross-platform and usually are free in the way fanatics from FSF understand
freedom, i.e. freedom is the thing that should be enforced). In the case
where it is impossible or hard to build something on Windows with MSVC, I
try to find some alternative.

The reason for trying to build everything with MSVC is simple -
unfortunately, it is the official compiler for the platform and some things
can only be built with it for Windows.

Sticking to Cygwin or MSYS2 may be fine unless you need some things like Qt
with WebEngine support or, probably, CUDA (I am not sure if it officially
works with anything else but MSVC).



--
Sent from: http://cmake.3232098.n2.nabble.com/
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Development Workflow with CMake and VS2017

Dvir Yitzchaki

I recommend using Hunter package manager:

https://docs.hunter.sh/en/latest/quick-start/boost-components.html

 

It has support for FreeType as well:

https://docs.hunter.sh/en/latest/packages/pkg/freetype.html

 

Regards,

Dvir

 

-----Original Message-----
From: CMake <[hidden email]> On Behalf Of Innokentiy Alaytsev
Sent: Thursday, July 12, 2018 21:44
To: [hidden email]
Subject: Re: [CMake] Development Workflow with CMake and VS2017

 

Hello!

 

I usually just download prebuild binaries if they are available or build the required dependency from sources. There are some libraries (and other

software) that are not Windows-friendly (These products are still considered cross-platform and usually are free in the way fanatics from FSF understand freedom, i.e. freedom is the thing that should be enforced). In the case where it is impossible or hard to build something on Windows with MSVC, I try to find some alternative.

 

The reason for trying to build everything with MSVC is simple - unfortunately, it is the official compiler for the platform and some things can only be built with it for Windows.

 

Sticking to Cygwin or MSYS2 may be fine unless you need some things like Qt with WebEngine support or, probably, CUDA (I am not sure if it officially works with anything else but MSVC).

 

 

 

--

Sent from: http://cmake.3232098.n2.nabble.com/

--

 

Powered by www.kitware.com

 

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

 

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

 

CMake Support: http://cmake.org/cmake/help/support.html

CMake Consulting: http://cmake.org/cmake/help/consulting.html

CMake Training Courses: http://cmake.org/cmake/help/training.html

 

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

 

Follow this link to subscribe/unsubscribe:

https://cmake.org/mailman/listinfo/cmake


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Development Workflow with CMake and VS2017

Mateusz Loskot
I recommend vcpkg and Conan. 
You may check Boost.GIL configuration for CMake that uses both as alternatives. 
Conan can automatically pulls libpng etc. 


Mateusz Loskot, [hidden email]
(Sent from mobile)

On Sun, 15 Jul 2018, 09:44 Dvir Yitzchaki, <[hidden email]> wrote:

I recommend using Hunter package manager:

https://docs.hunter.sh/en/latest/quick-start/boost-components.html

 

It has support for FreeType as well:

https://docs.hunter.sh/en/latest/packages/pkg/freetype.html

 

Regards,

Dvir

 

-----Original Message-----
From: CMake <[hidden email]> On Behalf Of Innokentiy Alaytsev
Sent: Thursday, July 12, 2018 21:44
To: [hidden email]
Subject: Re: [CMake] Development Workflow with CMake and VS2017

 

Hello!

 

I usually just download prebuild binaries if they are available or build the required dependency from sources. There are some libraries (and other

software) that are not Windows-friendly (These products are still considered cross-platform and usually are free in the way fanatics from FSF understand freedom, i.e. freedom is the thing that should be enforced). In the case where it is impossible or hard to build something on Windows with MSVC, I try to find some alternative.

 

The reason for trying to build everything with MSVC is simple - unfortunately, it is the official compiler for the platform and some things can only be built with it for Windows.

 

Sticking to Cygwin or MSYS2 may be fine unless you need some things like Qt with WebEngine support or, probably, CUDA (I am not sure if it officially works with anything else but MSVC).

 

 

 

--

Sent from: http://cmake.3232098.n2.nabble.com/

--

 

Powered by www.kitware.com

 

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

 

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

 

CMake Support: http://cmake.org/cmake/help/support.html

CMake Consulting: http://cmake.org/cmake/help/consulting.html

CMake Training Courses: http://cmake.org/cmake/help/training.html

 

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

 

Follow this link to subscribe/unsubscribe:

https://cmake.org/mailman/listinfo/cmake

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
--
Mateusz Loskot
http://mateusz.loskot.net
Reply | Threaded
Open this post in threaded view
|

Re: Development Workflow with CMake and VS2017

R0b0t1
In reply to this post by Innokentiy Alaytsev
On Thu, Jul 12, 2018 at 1:43 PM, Innokentiy Alaytsev <[hidden email]> wrote:

> Hello!
>
> I usually just download prebuild binaries if they are available or build the
> required dependency from sources. There are some libraries (and other
> software) that are not Windows-friendly (These products are still considered
> cross-platform and usually are free in the way fanatics from FSF understand
> freedom, i.e. freedom is the thing that should be enforced). In the case
> where it is impossible or hard to build something on Windows with MSVC, I
> try to find some alternative.
>
> The reason for trying to build everything with MSVC is simple -
> unfortunately, it is the official compiler for the platform and some things
> can only be built with it for Windows.
>
> Sticking to Cygwin or MSYS2 may be fine unless you need some things like Qt
> with WebEngine support or, probably, CUDA (I am not sure if it officially
> works with anything else but MSVC).
>

Very nearly everything *does* work with MinGW save for those things
which are provided via a C++ API and driver development.

I have done this for a while, but it is especially problematic with
things which have many dependencies.


Someone privately suggested vcpkg. I tried it and it seems to work
rather well. Perhaps it is what I will be using for the foreseeable
future. I do not like how it is tied to MSVC and how it is fairly
naive.

I also found build2 but it has been rather hard to use. I am not quite
sure how to set it to compile with a 64 bit MinGW toolchain. I suppose
I will need to follow the manual instructions when I have more time;
they are a bit rough.

The other suggestions are welcome, I will try to get back to the list
with my thoughts in a few days.

Cheers,
     R0b0t1
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake