Skip to content

Commit 650e69b

Browse files
authored
[CI] Add a step in CI to ensure darwin-framework-tool can be built on iOS. (#36062)
* [darwin-framework-tool] Add a step in CI to ensure darwin-framework-tool can be built on iOS * [darwin-framework-tool] Build fixes
1 parent 0474070 commit 650e69b

File tree

5 files changed

+27
-0
lines changed

5 files changed

+27
-0
lines changed

.github/workflows/darwin-tests.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ jobs:
7373
platform: darwin
7474
bootstrap-log-name: bootstrap-logs-darwin-${{ matrix.build_variant }}
7575

76+
- name: Build iOS Darwin Framework Tool Build Debug
77+
working-directory: src/darwin/Framework
78+
run: xcodebuild -target "darwin-framework-tool" -sdk iphoneos -configuration Debug AD_HOC_CODE_SIGNING_ALLOWED=YES
79+
7680
- name: Run macOS Darwin Framework Tool Build Debug
7781
working-directory: src/darwin/Framework
7882
run: xcodebuild -target "darwin-framework-tool" -sdk macosx -configuration Debug

examples/darwin-framework-tool/commands/memory/LeaksTool.mm

+5
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ @implementation LeaksTool
3131

3232
- (BOOL)runWithArguments:(NSArray<NSString *> * _Nullable)arguments
3333
{
34+
#if TARGET_OS_OSX
3435
pid_t pid = getpid();
3536
__auto_type * pidString = [NSString stringWithFormat:@"%d", pid];
3637

@@ -59,6 +60,10 @@ - (BOOL)runWithArguments:(NSArray<NSString *> * _Nullable)arguments
5960
NSLog(@"%@", output);
6061

6162
return YES;
63+
#else
64+
NSLog(@"Running leaks as a task is supported on this platform.");
65+
return NO;
66+
#endif // TARGET_OS_OSX
6267
}
6368

6469
@end

examples/darwin-framework-tool/debug/LeakChecker.mm

+4
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ @implementation LeakChecker
2929

3030
- (BOOL)hasMemoryLeaks
3131
{
32+
#if TARGET_OS_OSX
3233
pid_t pid = getpid();
3334
auto * pidString = [NSString stringWithFormat:@"%d", pid];
3435

@@ -51,6 +52,9 @@ - (BOOL)hasMemoryLeaks
5152
NSLog(@"%@", output);
5253
return YES;
5354
}
55+
#else
56+
NSLog(@"Running leaks as a task is supported on this platform.");
57+
#endif // TARGET_OS_OSX
5458

5559
return NO;
5660
}

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

+10
Original file line numberDiff line numberDiff line change
@@ -2242,7 +2242,12 @@
22422242
"$(CONFIGURATION_TEMP_DIR)/Matter.build/out/obj/src/app/lib",
22432243
);
22442244
OTHER_CFLAGS = "-DLWS_PLAT_UNIX";
2245+
"OTHER_CFLAGS[sdk=iphoneos*]" = (
2246+
"-DLWS_PLAT_UNIX",
2247+
"-DLWS_DETECTED_PLAT_IOS",
2248+
);
22452249
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
2250+
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*]" = "$(OTHER_CFLAGS)";
22462251
PRODUCT_NAME = "$(TARGET_NAME)";
22472252
PROVISIONING_PROFILE_SPECIFIER = "";
22482253
SDKROOT = macosx;
@@ -2315,7 +2320,12 @@
23152320
"$(CONFIGURATION_TEMP_DIR)/Matter.build/out/obj/src/app/lib",
23162321
);
23172322
OTHER_CFLAGS = "-DLWS_PLAT_UNIX";
2323+
"OTHER_CFLAGS[sdk=iphoneos*]" = (
2324+
"-DLWS_PLAT_UNIX",
2325+
"-DLWS_DETECTED_PLAT_IOS",
2326+
);
23182327
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
2328+
"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*]" = "$(OTHER_CFLAGS)";
23192329
PRODUCT_NAME = "$(TARGET_NAME)";
23202330
PROVISIONING_PROFILE_SPECIFIER = "";
23212331
SDKROOT = macosx;

third_party/libwebsockets/BUILD.gn

+4
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ source_set("libwebsockets") {
106106
]
107107

108108
cflags = [ "-DLWS_PLAT_UNIX" ]
109+
110+
if (target_os == "ios") {
111+
cflags += [ "-DLWS_DETECTED_PLAT_IOS" ]
112+
}
109113
}
110114

111115
public_configs = [ ":libwebsockets_config" ]

0 commit comments

Comments
 (0)