Hacker News new | ask | show | jobs
by dasloop 1472 days 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) ;)
1 comments

It'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).

ExternalProject_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)
OTOH learning how to debug cmake will guarantee your employment for life so there's an incentive.