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})
target_link_libraries(CPackLib CMakeLib)
if(APPLE)
target_link_libraries(CPackLib "-framework Carbon")
target_link_libraries(CPackLib "-framework CoreServices")
endif()
if(APPLE)

View File

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