Well, the deployment target only *indicates* to the OS if the app should be runnable. It also helps in defining which APIs are allowed. In either, case it’s no guarantee but, if a project is not using anything too new or esoteric, it can run fine on a lot of different versions of systems. In Obj-C, it’s trivial to check if a method or class definition exists at runtime, so you can more easily support a API changes over time without needing to explicitly build on an older system. Of course, this approach is less applicable to C/C++, hence it becomes more of an indication.
See also http://www.cocoabuilder.com/archive/xcode/287223-mac-os-deployment-target.ht... http://www.cocoabuilder.com/archive/xcode/287223-mac-os-deployment-target.html & http://stackoverflow.com/questions/25352389/difference-between-macosx-deploy... http://stackoverflow.com/questions/25352389/difference-between-macosx-deployment-target-and-mmacosx-version-min-compiler-op#25362535
Dan Wilcox @danomatika https://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
On Oct 10, 2016, at 12:14 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
You’ll probably need to build form source in either environment if you want to be sure of the deployment target. Both Homebrew and Macports are focused on running OS software for the current system, much less so for building baked libraries to run on other systems.
I'm also just assuming that binaries built for the older targets will work on all the newer systems.
-Jonathan