diff options
| author | comex <comexk@gmail.com> | 2014-10-29 00:11:57 -0400 |
|---|---|---|
| committer | comex <comexk@gmail.com> | 2014-11-14 15:00:50 -0500 |
| commit | efb2f361aa1d93cf1772ece2f672ddf367d0dc19 (patch) | |
| tree | 9819238c2b7a6703b1a3e1e58e975a460d91611e | |
| parent | cb0af4057e78defd12822092c6fd9bf074b60164 (diff) | |
Don't murder the default PATH and CMAKE_SYSTEM_PREFIX_PATH on OS X. Just prioritize /usr.
Changing PATH basically screws everything up, and while the attempt to
avoid MacPorts copies of system libraries was well-intentioned, it made
the OS X buildbot unable to pick up ffmpeg and libusb.
It's sufficient to put /usr first to make sure we use the system copies
of duplicated libraries.
| -rw-r--r-- | CMakeLists.txt | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e039121ac4..08dce87c62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,9 @@ option(ENABLE_QT "Enable Qt (use the experimental Qt interface)" OFF) option(ENABLE_PCH "Use PCH to speed up compilation" ON) option(ENABLE_LTO "Enables Link Time Optimization" OFF) option(ENABLE_GENERIC "Enables generic build that should run on any little-endian host" OFF) +if(APPLE) + option(OSX_USE_DEFAULT_SEARCH_PATH "Don't prioritize system library paths" OFF) +endif() option(ENCODE_FRAMEDUMPS "Encode framedumps in AVI format" ON) @@ -219,10 +222,18 @@ if(ENABLE_LTO) endif() if(APPLE) - # Ignore MacPorts and Fink and any other locally installed packages that - # might prevent building a distributable binary. - set(CMAKE_SYSTEM_PREFIX_PATH /usr) - set(ENV{PATH} /usr/bin:/bin:/usr/sbin:/sbin) + if(NOT OSX_USE_DEFAULT_SEARCH_PATH) + # Hack up the path to prioritize the path to built-in OS libraries to + # increase the chance of not depending on a bunch of copies of them + # installed by MacPorts, Fink, Homebrew, etc, and ending up copying + # them into the bundle. Since we optionally depend on libraries which + # are not part of OS X (ffmpeg, libusb, etc.), however, don't remove + # the default path entirely as was done in a previous version of this + # file. This is still kinda evil, since it defeats the user's path + # settings... + # See http://www.cmake.org/cmake/help/v3.0/command/find_program.html + set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};/usr") + endif() # Some of our code contains Objective C constructs. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -x objective-c -stdlib=libc++") |
