CPack: Avoid requiring Carbon framework on OS X (#16021)

In commit v3.5.0-rc1~232^2 (CPackDMG: Add support for multilingual SLAs,
2015-10-19) we added use of the Carbon framework in order to get access
to its APIs to convert Script Manager RegionCode values.  This is not
necessary.  Instead we can use CoreServices.

While at it, replace individual CoreFoundation includes with including
the entire framework, which is the correct way.
This commit is contained in:
Sean McBride 2016-03-17 10:47:44 -04:00 committed by Brad King
parent b369959eb5
commit c718070c08
2 changed files with 6 additions and 15 deletions

View File

@ -728,7 +728,7 @@ endif()
add_library(CPackLib ${CPACK_SRCS}) add_library(CPackLib ${CPACK_SRCS})
target_link_libraries(CPackLib CMakeLib) target_link_libraries(CPackLib CMakeLib)
if(APPLE) if(APPLE)
target_link_libraries(CPackLib "-framework Carbon") target_link_libraries(CPackLib "-framework CoreServices")
endif() endif()
if(APPLE) if(APPLE)

View File

@ -20,21 +20,12 @@
#include <iomanip> #include <iomanip>
#include <CoreFoundation/CFBase.h> #include <CoreFoundation/CoreFoundation.h>
#include <CoreFoundation/CFString.h>
#include <CoreFoundation/CFLocale.h>
// The carbon framework is deprecated, but the Region codes it supplies are // For the old LocaleStringToLangAndRegionCodes() function, to convert
// needed for the LPic data structure used for generating multi-lingual SLAs. // to the old Script Manager RegionCode values needed for the 'LPic' data
// There does not seem to be a replacement API for these region codes. // structure used for generating multi-lingual SLAs.
#if defined(__clang__) #include <CoreServices/CoreServices.h>
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
#endif
#include <Carbon/Carbon.h>
#if defined(__clang__)
# pragma clang diagnostic pop
#endif
static const char* SLAHeader = static const char* SLAHeader =
"data 'LPic' (5000) {\n" "data 'LPic' (5000) {\n"