you just need to add NSHighResolutionCapable to your application's plist file
What if I'm distributing a plain executable file, not an .app bundle with a plist?
Right now SFML is forcing the following situation: The high-DPI users of my program have to explicitly go into the preferences and specify that they want their window to be scaled 2x to get a normal-sized window. (Since there's no way to detect high-DPI vs non-high-DPI programmatically.)
SDL2 doesn't have this problem. Instead it just works: Windows have the same virtual size on high-DPI and non-high-DPI displays, with no need to specify NSHighResolutionCapable anywhere. In addition, it's possible to detect high-DPI vs non-high-DPI programmatically.