Question

I've been building cross-platform applications using C++ and CMake. Unfortunately many libraries do not include CMake project descriptions. For example Google supported projects frequently use GYP.

Here are some of the approaches I've taken for this problem:

  1. Find a CMake project description for the library on the web
  2. Write a project description using CMake

Finding or writing CMakeLists.txt descriptions for libraries is a maintenance problem. As the library is updated, so too must my CMake description. Also the project files created by the library's authors are more likely to be correct.

How specifically should I integrate GYP projects into my CMake-based software? Is duplicating the project description in CMake the best approach, or is there some feature of CMake that I am missing?

What are some of the general approaches to dealing with this class of problems in CMake? What about libraries that include a set of project files for various platforms/IDEs? Does CMake provide a way to integrate these projects into mine?

Was it helpful?

OTHER TIPS

Not sure if the output is usable for your purposes but gyp can generate Cmake projects gyp -f cmake mygypfile.gyp. Your CMakeLists.txt will be in out/[Configuration] (configuration can be Debug, Release, etc)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top