4 ms·
With the exception of CMake evolution (now days a defacto standard), package managers (as Conan or vcpkg) or the support for new C++ standards in major compiler
by dasloop 4y ago
With the exception of CMake evolution (now days a defacto standard), package managers (as Conan or vcpkg) or the support for new C++ standards in major compilers (clang, gcc, Visual) ;)
- TillE 4y agoIt's good that the C++ world has effectively standardized on something, but CMake still has a steep learning curve. I hate its structure as a jumbled mess of independent commands. It needs more guidance for making simple, typical projects easy to set up, at the very least more stuff that works like ExternalProject_Add (a big powerful command with all its options clearly documented on one page).
- MafellUser 4y agoOTOH learning how to debug cmake will guarantee your employment for life so there's an incentive.
- dasloop 4y agoExternalProject_Add -> vcpkg or Conan. I have more experience with vcpkg and the steps are: 1) declare your dependencies in a vcpkg.json file (similar to npm's package.json). Example: { ... "dependencies": [ "openssl" ] } 2) Add it to your CMakeLists.txt file. Example: find_package(OpenSSL REQUIRED) target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)