Skip to content

Commit 43202d9

Browse files
Darwin project fixes (project-chip#32637)
* Darwin: Run gn build during installapi so TAPI can see project headers * Darwin: Use default DEBUG_INFORMATION_FORMAT (dwarf-with-dsym) This ensures on-device debugging actually works properly. * Darwin: Move miscellaneous settings up to project level ... where applicable, instead of overriding settings per target.
1 parent 0ad1a36 commit 43202d9

File tree

2 files changed

+12
-28
lines changed

2 files changed

+12
-28
lines changed

src/darwin/Framework/Matter.xcodeproj/project.pbxproj

+7-18
Original file line numberDiff line numberDiff line change
@@ -2009,9 +2009,7 @@
20092009
isa = XCBuildConfiguration;
20102010
buildSettings = {
20112011
CHIP_BUILD_TOOLS = true;
2012-
CHIP_ROOT = "$(PROJECT_DIR)/../../..";
20132012
CLANG_ANALYZER_NONNULL = YES;
2014-
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
20152013
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
20162014
CODE_SIGN_IDENTITY = "-";
20172015
CODE_SIGN_STYLE = Automatic;
@@ -2070,9 +2068,7 @@
20702068
PRODUCT_NAME = "$(TARGET_NAME)";
20712069
PROVISIONING_PROFILE_SPECIFIER = "";
20722070
SDKROOT = macosx;
2073-
STRIP_INSTALLED_PRODUCT = NO;
20742071
SYSTEM_HEADER_SEARCH_PATHS = "$(CHIP_ROOT)/src/darwin/Framework/CHIP/";
2075-
USER_HEADER_SEARCH_PATHS = "";
20762072
WARNING_CFLAGS = (
20772073
"-Wformat",
20782074
"-Wformat-nonliteral",
@@ -2087,13 +2083,10 @@
20872083
isa = XCBuildConfiguration;
20882084
buildSettings = {
20892085
CHIP_BUILD_TOOLS = true;
2090-
CHIP_ROOT = "$(PROJECT_DIR)/../../..";
20912086
CLANG_ANALYZER_NONNULL = YES;
2092-
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
20932087
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
20942088
CODE_SIGN_IDENTITY = "-";
20952089
CODE_SIGN_STYLE = Automatic;
2096-
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
20972090
DEVELOPMENT_TEAM = "";
20982091
GCC_PREPROCESSOR_DEFINITIONS = (
20992092
"$(inherited)",
@@ -2151,7 +2144,6 @@
21512144
PROVISIONING_PROFILE_SPECIFIER = "";
21522145
SDKROOT = macosx;
21532146
SYSTEM_HEADER_SEARCH_PATHS = "$(CHIP_ROOT)/src/darwin/Framework/CHIP/";
2154-
USER_HEADER_SEARCH_PATHS = "";
21552147
WARNING_CFLAGS = (
21562148
"-Wformat",
21572149
"-Wformat-nonliteral",
@@ -2166,6 +2158,7 @@
21662158
isa = XCBuildConfiguration;
21672159
buildSettings = {
21682160
ALWAYS_SEARCH_USER_PATHS = NO;
2161+
CHIP_ROOT = "$(PROJECT_DIR)/../../..";
21692162
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
21702163
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
21712164
CLANG_CXX_LIBRARY = "libc++";
@@ -2194,12 +2187,9 @@
21942187
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
21952188
CLANG_WARN_UNREACHABLE_CODE = YES;
21962189
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
2197-
COPY_PHASE_STRIP = NO;
21982190
CURRENT_PROJECT_VERSION = 1;
2199-
DEBUG_INFORMATION_FORMAT = dwarf;
22002191
ENABLE_STRICT_OBJC_MSGSEND = YES;
22012192
GCC_C_LANGUAGE_STANDARD = gnu11;
2202-
GCC_DYNAMIC_NO_PIC = NO;
22032193
GCC_NO_COMMON_BLOCKS = YES;
22042194
GCC_OPTIMIZATION_LEVEL = 0;
22052195
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -2222,6 +2212,8 @@
22222212
SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvos appletvsimulator watchos watchsimulator";
22232213
SUPPORTS_TEXT_BASED_API = YES;
22242214
SWIFT_INSTALL_OBJC_HEADER = NO;
2215+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2216+
SWIFT_VERSION = 5.0;
22252217
TAPI_ENABLE_PROJECT_HEADERS = YES;
22262218
TARGETED_DEVICE_FAMILY = "1,2,3,4";
22272219
VERSIONING_SYSTEM = "apple-generic";
@@ -2238,7 +2230,6 @@
22382230
BA09EB742474881D00605257 /* Debug */ = {
22392231
isa = XCBuildConfiguration;
22402232
buildSettings = {
2241-
CHIP_ROOT = "$(PROJECT_DIR)/../../..";
22422233
CODE_SIGN_STYLE = Automatic;
22432234
DEFINES_MODULE = YES;
22442235
DEVELOPMENT_TEAM = "";
@@ -2253,6 +2244,7 @@
22532244
"MTR_ENABLE_PROVISIONAL=1",
22542245
);
22552246
INFOPLIST_FILE = CHIP/Info.plist;
2247+
INSTALLHDRS_SCRIPT_PHASE = YES;
22562248
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
22572249
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
22582250
LIBRARY_SEARCH_PATHS = "$(TEMP_DIR)/out/lib";
@@ -2329,8 +2321,6 @@
23292321
PRODUCT_BUNDLE_IDENTIFIER = com.chip.CHIPTests;
23302322
PRODUCT_NAME = "$(TARGET_NAME)";
23312323
SWIFT_OBJC_BRIDGING_HEADER = "CHIPTests/MatterTests-Bridging-Header.h";
2332-
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2333-
SWIFT_VERSION = 5.0;
23342324
TARGETED_DEVICE_FAMILY = "1,2,3,4";
23352325
};
23362326
name = Debug;
@@ -2339,6 +2329,7 @@
23392329
isa = XCBuildConfiguration;
23402330
buildSettings = {
23412331
ALWAYS_SEARCH_USER_PATHS = NO;
2332+
CHIP_ROOT = "$(PROJECT_DIR)/../../..";
23422333
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
23432334
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
23442335
CLANG_CXX_LIBRARY = "libc++";
@@ -2367,7 +2358,6 @@
23672358
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
23682359
CLANG_WARN_UNREACHABLE_CODE = YES;
23692360
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
2370-
COPY_PHASE_STRIP = NO;
23712361
CURRENT_PROJECT_VERSION = 1;
23722362
ENABLE_NS_ASSERTIONS = NO;
23732363
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -2389,6 +2379,7 @@
23892379
SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvos appletvsimulator watchos watchsimulator";
23902380
SUPPORTS_TEXT_BASED_API = YES;
23912381
SWIFT_INSTALL_OBJC_HEADER = NO;
2382+
SWIFT_VERSION = 5.0;
23922383
TARGETED_DEVICE_FAMILY = "1,2,3,4";
23932384
VALIDATE_PRODUCT = YES;
23942385
VERSIONING_SYSTEM = "apple-generic";
@@ -2405,7 +2396,6 @@
24052396
BA09EB782474882200605257 /* Release */ = {
24062397
isa = XCBuildConfiguration;
24072398
buildSettings = {
2408-
CHIP_ROOT = "$(PROJECT_DIR)/../../..";
24092399
CODE_SIGN_STYLE = Automatic;
24102400
DEFINES_MODULE = YES;
24112401
DEVELOPMENT_TEAM = "";
@@ -2420,6 +2410,7 @@
24202410
"MTR_ENABLE_PROVISIONAL=1",
24212411
);
24222412
INFOPLIST_FILE = CHIP/Info.plist;
2413+
INSTALLHDRS_SCRIPT_PHASE = YES;
24232414
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
24242415
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
24252416
LIBRARY_SEARCH_PATHS = "$(TEMP_DIR)/out/lib";
@@ -2460,7 +2451,6 @@
24602451
PRODUCT_BUNDLE_IDENTIFIER = com.csa.matter;
24612452
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
24622453
SDKROOT = iphoneos;
2463-
STRIP_STYLE = "non-global";
24642454
SYSTEM_HEADER_SEARCH_PATHS = (
24652455
"$(TEMP_DIR)/out/gen/include",
24662456
"$(CHIP_ROOT)/src/darwin/Framework/CHIP/",
@@ -2498,7 +2488,6 @@
24982488
PRODUCT_BUNDLE_IDENTIFIER = com.chip.CHIPTests;
24992489
PRODUCT_NAME = "$(TARGET_NAME)";
25002490
SWIFT_OBJC_BRIDGING_HEADER = "CHIPTests/MatterTests-Bridging-Header.h";
2501-
SWIFT_VERSION = 5.0;
25022491
TARGETED_DEVICE_FAMILY = "1,2,3,4";
25032492
};
25042493
name = Release;

src/darwin/Framework/chip_xcode_build_connector.sh

+5-10
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,14 @@
2525
# but is all uppper). Variables defined herein and used locally are lower-case
2626
#
2727

28-
here=$(cd "${0%/*}" && pwd)
29-
me=${0##*/}
30-
31-
CHIP_ROOT=$(cd "$here/../../.." && pwd)
32-
33-
die() {
34-
echo "$me: *** ERROR: $*"
35-
exit 1
36-
}
28+
CHIP_ROOT=$(cd "$(dirname "$0")/../../.." && pwd)
3729

3830
# lotsa debug output :-)
3931
set -ex
4032

33+
# We only have work to do for the `installapi` and `build` phases
34+
[[ "$ACTION" == installhdrs ]] && exit 0
35+
4136
# helpful debugging, save off environment that Xcode gives us, can source it to
4237
# retry/repro failures from a bash terminal
4338
mkdir -p "$TEMP_DIR"
@@ -191,7 +186,7 @@ find_in_ancestors() {
191186

192187
# actual build stuff
193188
{
194-
cd "$CHIP_ROOT" # pushd and popd because we need the env vars from activate
189+
cd "$CHIP_ROOT"
195190

196191
if ENV=$(find_in_ancestors chip_xcode_build_connector_env.sh 2>/dev/null); then
197192
. "$ENV"

0 commit comments

Comments
 (0)