a developer post a well rounded tool with documentation that was built with a lot of care. The comment thread is mostly about other tools or people dismissing the work done because another available offer is more popular or common. When did "Show HN" threads became shark tank? Can people at least check and post about the tool itself instead of discussing CMake vs Ninja vs Meson?
>When did "Show HN" threads became shark tank? From the 2007 announcement of Dropbox: https://news.ycombinator.com/item?id=8863 """ 1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software. """
Show HN: Xmake, a modern C/C++ build utility
151–160 of 190 posts
Re: Show HN: Xmake, a modern C/C++ build utility
#152Earlier quoted context omitted.
> if they'd just add a makefile (and maybe ./configure) That's the whole point of cmake. Instead of running autotool's ./configure (which in fact is a whole dance involving autoconf, autoreconf, automake, and whatnot) just run cmake . to get yourself a fancy makefile.
> just run cmake . to get yourself a fancy makefile. Well most instructions I've seen start of with "mkdir build && cd build && cmake ../src", which is a bit more complicated than just "make" with a default build dir. I'm not sure why they're all like this, I would have though supplying a default build directory is something cmake could handle. My last and only big project with cmake we ended up with a makefile anywa…
- Windows - generates a VC++ project
- OS X - generates an Xcode project
- Unix (other) - generates Ninja files for Debug/RelWithDebInfo
(Typically there's also the option to generate Ninja files on OS X if you like - good for automated build and/or if you'd just rather use some other editor (which is not unreasonable).)
Once it finishes, on Windows you load "build/vs2017/whatever.sln" into VC++; on OS X you load "build/xcode/whatever.xcodeproj" into Xcode; on Unix (other) you change to "build/Debug" or "build/Release" and run "ninja". And off you go. After that, it all just kind of runs itself.
The Makefile consists of basically stuff like this:
.PHONY:unix
unix:
rm -Rf build/Debug
mkdir -p build/Debug
cd build/Debug && cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug ../..
rm -Rf build/Release
mkdir -p build/Release
cd build/Debug && cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo ../..
plus some ifs to ensure the right target(s) are available depending on host OS.(I've found it beneficial to regenerate everything entirely from scratch each time in the Makefile - ensures you're always working from a clean slate, with no cached variables sticking around from old runs. The odd package does have an unusually time-consuming configuration process, but I've always ended up managing to bypass these somehow - it's possible a future revision of my "process" will have to actually address this properly.)
This process does confuse people that don't read the instructions, as they type "make", some stuff happens, and then nothing. But I've found it to work well enough.
Re: Show HN: Xmake, a modern C/C++ build utility
#153Re: Show HN: Xmake, a modern C/C++ build utility
#154Earlier quoted context omitted.
>When did "Show HN" threads became shark tank? From the 2007 announcement of Dropbox: https://news.ycombinator.com/item?id=8863 """ 1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software. """
Does anybody actually use Dropbox anymore? Feel like it’s a dead product.
Re: Show HN: Xmake, a modern C/C++ build utility
#155Earlier quoted context omitted.
no, they won't "generate native makefiles" (I prefer Ninja myself) - this is what used to build software
Leveraging compositional abstraction doesn't change what you use the thing for. I use cmake (well I don't often, but when I do) to build my projects. How it accomplishes that is if little concern.
no, you don't
remove from your system make (ninja, msbuild, ...) and see how cmake builds your project
Re: Show HN: Xmake, a modern C/C++ build utility
#156Earlier quoted context omitted.
Why migrate from CMake to meson?
Nobody who has used CMake would ask that so I assume you haven't! The answer is that CMake is mad and full of gotchas. Think of it like the PHP of build systems. Here is a classic example: https://cmake.org/cmake/help/latest/command/if.html#variable...
Re: Show HN: Xmake, a modern C/C++ build utility
#157Re: Show HN: Xmake, a modern C/C++ build utility
#158Earlier quoted context omitted.
>When did "Show HN" threads became shark tank? From the 2007 announcement of Dropbox: https://news.ycombinator.com/item?id=8863 """ 1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software. """
Does anybody actually use Dropbox anymore? Feel like it’s a dead product.
They tried to sell their 'get public URL' wrappers as the replacement for the functionality, but that only covered a tiny aspect (and OneDrive, Google Drive, etc already offered that stuff) - sharing photos - and even that was slower due to them wrapping the files in some sort of viewer instead of giving the raw file data like the public folder did, while using some sort of hash ID to identify the file instead of the actual filename (this was another convenience lost since with the public folder i could guess the URL to share without copy/pasting).
I never found anything as convenient as Dropbox's public folder while the rest of their offering wasn't anything i cared much about and even then by that time both Google and Microsoft's offers were better (and with Microsoft's available right out of the box in Windows).
Re: Show HN: Xmake, a modern C/C++ build utility
#159Earlier quoted context omitted.
Python also has version compatibility issues, such as: python2.x, 3.x. Also need the user to install the specified version of python
> Python also has version compatibility issues, such as: python2.x, 3.x. If that really bothers you then just create a virtual environment and locally deploy whatever version you want to run. That issue ceased to be a concern years ago.
If they promise to never break backward compatibility again in the future i might change my stance though, i mostly try to avoid Python than anything than a simple calculator or quick and dirty scripts because i do not want to write any code that may break in 2-3 years without me doing anything wrong.
Re: Show HN: Xmake, a modern C/C++ build utility
#160Earlier quoted context omitted.
Leveraging compositional abstraction doesn't change what you use the thing for. I use cmake (well I don't often, but when I do) to build my projects. How it accomplishes that is if little concern.
> I use cmake (well I don't often, but when I do) to build my projects. no, you don't remove from your system make (ninja, msbuild, ...) and see how cmake builds your project
Yes exactly when you remove a piece of the build system the build system stops working.
When I use bazel I need python installed or it doesn't work. That doesn't mean my build system is python. It means my build system takes advantage of python. Same for cmake and make.