cpp.js 1.0.0-beta.3 → 1.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -0
- package/package.json +24 -14
- package/src/{functions/buildJS.js → actions/buildJs.js} +7 -6
- package/src/actions/buildWasm.js +68 -0
- package/src/actions/createInterface.js +128 -0
- package/src/actions/createLib.js +104 -0
- package/src/actions/createXCFramework.js +44 -0
- package/src/actions/getAllBridges.js +8 -0
- package/src/actions/getCmakeParameters.js +56 -0
- package/src/actions/getData.js +28 -0
- package/src/actions/getDependLibs.js +19 -0
- package/src/{functions → actions}/run.js +98 -58
- package/src/assets/CMakeLists.txt +14 -10
- package/src/assets/commonBridges.cpp +16 -0
- package/src/assets/dist.cmake +1 -1
- package/src/assets/ios.toolchain.cmake +4 -4
- package/src/bin.js +255 -96
- package/src/index.js +13 -63
- package/src/integration/getCppJsScript.js +91 -0
- package/src/integration/getDependFilePath.js +34 -0
- package/src/state/calculateDependencyParameters.js +64 -0
- package/src/state/index.js +81 -0
- package/src/state/loadConfig.js +103 -0
- package/src/utils/downloadAndExtractFile.js +36 -0
- package/src/utils/fixPackageName.js +7 -0
- package/src/utils/getAbsolutePath.js +14 -0
- package/src/utils/{findCMakeListsFile.js → getCMakeListsFilePath.js} +5 -4
- package/src/utils/getOsUserAndGroupId.js +1 -1
- package/src/utils/getParentPath.js +12 -0
- package/src/utils/hash.js +20 -0
- package/src/utils/loadJs.js +32 -0
- package/src/utils/loadJson.js +16 -0
- package/src/utils/pullDockerImage.js +2 -2
- package/src/utils/systemKeys.js +18 -0
- package/src/utils/writeJson.js +9 -0
- package/.mocharc.yaml +0 -3
- package/src/functions/createBridge.js +0 -37
- package/src/functions/createLib.js +0 -44
- package/src/functions/createWasm.js +0 -67
- package/src/functions/findOrCreateInterfaceFile.js +0 -68
- package/src/functions/finishBuild.js +0 -43
- package/src/functions/getCmakeParams.js +0 -106
- package/src/functions/getData.js +0 -36
- package/src/functions/getLibs.js +0 -33
- package/src/functions/specs/createBridge.spec.js +0 -51
- package/src/functions/specs/findOrCreateInterfaceFile.spec.js +0 -49
- package/src/utils/createTempDir.js +0 -15
- package/src/utils/getBaseInfo.js +0 -15
- package/src/utils/getCliPath.js +0 -12
- package/src/utils/getConfig.js +0 -170
- package/src/utils/getDirName.js +0 -8
- package/src/utils/getPathInfo.js +0 -10
- package/src/utils/specs/findCMakeListsFile.spec.js +0 -34
- package/src/utils/specs/utils.spec.js +0 -81
- package/test/data/sample.cpp +0 -1
- package/test/data/sample.h +0 -10
- package/test/data/sample.i +0 -12
- package/test/data/sample2.ei +0 -12
- package/test/data/sample2.h +0 -10
- /package/{test/data/sample2.cpp → src/assets/cppjsEmptySource.cpp} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
3
|
import pullDockerImage, { getDockerImage } from '../utils/pullDockerImage.js';
|
|
4
4
|
import getOsUserAndGroupId from '../utils/getOsUserAndGroupId.js';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
5
|
+
import { getContentHash } from '../utils/hash.js';
|
|
6
|
+
import state from '../state/index.js';
|
|
7
7
|
|
|
8
8
|
const CROSSCOMPILER = 'aarch64-linux-android33';
|
|
9
9
|
const ANDROID_NDK = '/opt/android-sdk/ndk/25.2.9519653';
|
|
@@ -66,22 +66,17 @@ const iosParams = [
|
|
|
66
66
|
'-e', `LDFLAGS="${IOS_HOST_FLAGS}"`,
|
|
67
67
|
]; */
|
|
68
68
|
|
|
69
|
-
function
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
69
|
+
export default function run(program, params = [], platformPrefix = null, platform = null, dockerOptions = {}) {
|
|
70
|
+
const buildPath = platformPrefix ? `${state.config.paths.build}/${platformPrefix}/${platform}` : state.config.paths.build;
|
|
71
|
+
if (!fs.existsSync(buildPath)) {
|
|
72
|
+
fs.mkdirSync(buildPath, { recursive: true });
|
|
73
|
+
}
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
const [basePlatform, ...arch] = (compiler.platform || 'unknown-unknown').split('-'); // Emscripten-x86_64, Android-arm64-v8a, iOS-iphoneos, iOS-iphonesimulator
|
|
75
|
+
const [basePlatform, ...arch] = (platform || 'unknown-unknown').split('-'); // Emscripten-x86_64, Android-arm64-v8a, iOS-iphoneos, iOS-iphonesimulator
|
|
77
76
|
if (basePlatform !== 'iOS' || program !== null) {
|
|
78
77
|
pullDockerImage();
|
|
79
78
|
}
|
|
80
79
|
|
|
81
|
-
const base = getBaseInfo(compiler.config.paths.base);
|
|
82
|
-
const temp = getPathInfo(compiler.config.paths.temp, compiler.config.paths.base);
|
|
83
|
-
|
|
84
|
-
const cMakeParentPath = getParentPath(compiler.config.paths.cmake);
|
|
85
80
|
let dProgram = program;
|
|
86
81
|
let dParams = params;
|
|
87
82
|
let platformParams = [];
|
|
@@ -118,14 +113,14 @@ export default function run(compiler, program, params = [], dockerOptions = {})
|
|
|
118
113
|
'-DFRAMEWORK=TRUE',
|
|
119
114
|
'-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0',
|
|
120
115
|
'-DCMAKE_SYSTEM_NAME=iOS',
|
|
121
|
-
`-DMACOSX_FRAMEWORK_IDENTIFIER=org.js.cpp.${
|
|
122
|
-
`-DCMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER=org.js.cpp.${
|
|
116
|
+
`-DMACOSX_FRAMEWORK_IDENTIFIER=org.js.cpp.${state.config.general.name}`,
|
|
117
|
+
`-DCMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER=org.js.cpp.${state.config.general.name}`,
|
|
123
118
|
`-DCMAKE_OSX_SYSROOT='${arch[0] === 'iphoneos' ? iosSdkPath : iosSimSdkPath}'`,
|
|
124
119
|
`-DCMAKE_OSX_ARCHITECTURES=${arch[0] === 'iphoneos' ? 'arm64;arm64e' : 'arm64;arm64e;x86_64'}`,
|
|
125
120
|
`-DCMAKE_C_FLAGS=${arch[0] === 'iphoneos' ? '-fembed-bitcode' : '-fembed-bitcode-marker'}`,
|
|
126
121
|
`-DCMAKE_CXX_FLAGS=${arch[0] === 'iphoneos' ? '-fembed-bitcode' : '-fembed-bitcode-marker'}`,
|
|
127
122
|
'-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY=\'iPhone Developer\'',
|
|
128
|
-
|
|
123
|
+
`-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=${state.config.system.XCODE_DEVELOPMENT_TEAM}`,
|
|
129
124
|
];
|
|
130
125
|
}
|
|
131
126
|
} else if (dProgram === 'ios-cmake') {
|
|
@@ -134,7 +129,7 @@ export default function run(compiler, program, params = [], dockerOptions = {})
|
|
|
134
129
|
if (dParams[0] !== '--build' && dParams[0] !== '--install') {
|
|
135
130
|
dParams = [
|
|
136
131
|
...dParams,
|
|
137
|
-
`-DCMAKE_TOOLCHAIN_FILE='${
|
|
132
|
+
`-DCMAKE_TOOLCHAIN_FILE='${state.config.paths.cli}/assets/ios.toolchain.cmake'`,
|
|
138
133
|
`-DPLATFORM=${arch[0] === 'iphoneos' ? 'OS64' : 'SIMULATORARM64'}`,
|
|
139
134
|
`-DARCHS=${arch[0] === 'iphoneos' ? 'arm64;arm64e' : 'arm64;arm64e;x86_64'}`,
|
|
140
135
|
'-DENABLE_BITCODE=TRUE',
|
|
@@ -142,14 +137,14 @@ export default function run(compiler, program, params = [], dockerOptions = {})
|
|
|
142
137
|
'-DFRAMEWORK=TRUE',
|
|
143
138
|
'-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0',
|
|
144
139
|
'-DCMAKE_SYSTEM_NAME=iOS',
|
|
145
|
-
`-DMACOSX_FRAMEWORK_IDENTIFIER=org.js.cpp.${
|
|
146
|
-
`-DCMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER=org.js.cpp.${
|
|
140
|
+
`-DMACOSX_FRAMEWORK_IDENTIFIER=org.js.cpp.${state.config.general.name}`,
|
|
141
|
+
`-DCMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER=org.js.cpp.${state.config.general.name}`,
|
|
147
142
|
`-DCMAKE_OSX_SYSROOT='${arch[0] === 'iphoneos' ? iosSdkPath : iosSimSdkPath}'`,
|
|
148
143
|
`-DCMAKE_OSX_ARCHITECTURES=${arch[0] === 'iphoneos' ? 'arm64;arm64e' : 'arm64;arm64e;x86_64'}`,
|
|
149
144
|
`-DCMAKE_C_FLAGS=${arch[0] === 'iphoneos' ? '-fembed-bitcode' : '-fembed-bitcode-marker'}`,
|
|
150
145
|
`-DCMAKE_CXX_FLAGS=${arch[0] === 'iphoneos' ? '-fembed-bitcode' : '-fembed-bitcode-marker'}`,
|
|
151
146
|
'-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY=\'iPhone Developer\'',
|
|
152
|
-
|
|
147
|
+
`-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=${state.config.system.XCODE_DEVELOPMENT_TEAM}`,
|
|
153
148
|
];
|
|
154
149
|
}
|
|
155
150
|
}
|
|
@@ -157,64 +152,109 @@ export default function run(compiler, program, params = [], dockerOptions = {})
|
|
|
157
152
|
default:
|
|
158
153
|
}
|
|
159
154
|
}
|
|
160
|
-
|
|
155
|
+
|
|
156
|
+
const env = {};
|
|
157
|
+
let runner = 'DOCKER';
|
|
158
|
+
if ((basePlatform === 'iOS' && program === null) || state.config.system.RUNNER === 'LOCAL') {
|
|
159
|
+
runner = 'LOCAL';
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (runner === 'LOCAL') {
|
|
161
163
|
const allowedEnv = [
|
|
162
164
|
'^PWD$', '^SHELL$', '^LC_CTYPE$', '^PATH$', '^HOME$', '^TMPDIR$', '^USER$',
|
|
163
165
|
'^PODS_*', '^CONFIGURATION_BUILD_DIR$', '^UNLOCALIZED_RESOURCES_FOLDER_PATH$',
|
|
164
166
|
];
|
|
165
|
-
const env = {};
|
|
166
167
|
Object.entries(process.env).forEach(([key, value]) => {
|
|
167
168
|
if (allowedEnv.some((e) => key.match(e))) {
|
|
168
169
|
env[key] = value;
|
|
169
170
|
}
|
|
170
171
|
});
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
else env[key] = v;
|
|
183
|
-
} else {
|
|
184
|
-
env[key] = value;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const pParams = [...platformParams, ...(dockerOptions.params || [])];
|
|
175
|
+
for (let i = 0; i < pParams.length; i += 2) {
|
|
176
|
+
if (pParams[i] === '-e') {
|
|
177
|
+
const [key, ...rest] = pParams[i + 1].split('=');
|
|
178
|
+
const value = rest.join('=');
|
|
179
|
+
if (['CFLAGS', 'CXXFLAGS', 'CPPFLAGS', 'LDFLAGS'].includes(key)) {
|
|
180
|
+
let v = value;
|
|
181
|
+
if (v.startsWith('\'') || v.startsWith('"')) {
|
|
182
|
+
v = v.substring(1, v.length - 1);
|
|
185
183
|
}
|
|
184
|
+
if (env[key]) env[key] += ` ${v}`;
|
|
185
|
+
else env[key] = v;
|
|
186
|
+
} else {
|
|
187
|
+
env[key] = value;
|
|
186
188
|
}
|
|
187
189
|
}
|
|
190
|
+
}
|
|
188
191
|
|
|
192
|
+
let fileExecParams;
|
|
193
|
+
if (runner === 'LOCAL') {
|
|
189
194
|
env.PATH = `/opt/homebrew/bin:${env.PATH}`;
|
|
190
195
|
|
|
191
196
|
const options = {
|
|
192
|
-
cwd: dockerOptions.workdir ||
|
|
193
|
-
stdio: dockerOptions.console ? 'inherit' : 'pipe',
|
|
197
|
+
cwd: dockerOptions.workdir || buildPath,
|
|
198
|
+
stdio: dockerOptions.console ? 'inherit' : ['ignore', 'pipe', 'pipe'],
|
|
194
199
|
env,
|
|
195
200
|
};
|
|
201
|
+
fileExecParams = [dProgram, dParams, options];
|
|
202
|
+
} else if (runner === 'DOCKER') {
|
|
203
|
+
const dockerEnv = [];
|
|
204
|
+
Object.entries(env).forEach(([key, value]) => {
|
|
205
|
+
dockerEnv.push('-e', `${key}=${value}`);
|
|
206
|
+
});
|
|
207
|
+
const options = { cwd: buildPath, stdio: dockerOptions.console ? 'inherit' : ['ignore', 'pipe', 'pipe'] };
|
|
196
208
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
209
|
+
let runnerParams = [];
|
|
210
|
+
let imageOrContainer = null;
|
|
211
|
+
if (state.config.system.RUNNER === 'DOCKER_RUN') {
|
|
212
|
+
imageOrContainer = getDockerImage();
|
|
213
|
+
runnerParams = ['run', '--rm', '-v', `${state.config.paths.base}:/tmp/cppjs/live`];
|
|
214
|
+
} else if (state.config.system.RUNNER === 'DOCKER_EXEC') {
|
|
215
|
+
imageOrContainer = `${getDockerImage()}-${getContentHash(state.config.paths.base)}`.replace('/', '-').replace(':', '-');
|
|
216
|
+
runnerParams = ['exec'];
|
|
217
|
+
} else {
|
|
218
|
+
throw new Error(`The runner ${state.config.system.RUNNER} is invalid.`);
|
|
219
|
+
}
|
|
202
220
|
|
|
203
|
-
execFileSync(dProgram, dParams, options);
|
|
204
|
-
} else {
|
|
205
|
-
const options = { cwd: temp.absolute, stdio: dockerOptions.console ? 'inherit' : 'pipe' };
|
|
206
221
|
const args = [
|
|
207
|
-
|
|
222
|
+
...runnerParams,
|
|
208
223
|
'--user', getOsUserAndGroupId(),
|
|
209
|
-
'
|
|
210
|
-
|
|
211
|
-
'-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
...(
|
|
215
|
-
getDockerImage(),
|
|
216
|
-
dProgram, ...dParams,
|
|
224
|
+
'--workdir', replaceBasePathForDocker(dockerOptions.workdir || buildPath),
|
|
225
|
+
...replaceBasePathForDocker(dockerEnv),
|
|
226
|
+
// '-e', replaceBasePathForDocker(`CCACHE_DIR=${state.config.paths.build}/ccache`),
|
|
227
|
+
imageOrContainer,
|
|
228
|
+
replaceBasePathForDocker(dProgram),
|
|
229
|
+
...replaceBasePathForDocker(dParams),
|
|
217
230
|
];
|
|
218
|
-
|
|
231
|
+
fileExecParams = ['docker', args, options];
|
|
232
|
+
} else {
|
|
233
|
+
throw new Error(`The runner ${state.config.system.RUNNER} or command is invalid.`);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
try {
|
|
237
|
+
execFileSync(...fileExecParams);
|
|
238
|
+
} catch (e) {
|
|
239
|
+
console.log(e?.stdout?.toString() || 'stdout is empty');
|
|
240
|
+
console.error(e?.stderr?.toString() || 'stderr is empty');
|
|
241
|
+
console.error('An error occurred while running the application. Please check the logs for more details.');
|
|
242
|
+
process.exit();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function replaceBasePathForDocker(data) {
|
|
247
|
+
if (typeof data === 'string' || data instanceof String) {
|
|
248
|
+
return data.replaceAll(state.config.paths.base, '/tmp/cppjs/live');
|
|
249
|
+
}
|
|
250
|
+
if (Array.isArray(data)) {
|
|
251
|
+
return data.map((d) => replaceBasePathForDocker(d));
|
|
252
|
+
}
|
|
253
|
+
if (typeof value === 'object' && data !== null) {
|
|
254
|
+
const newData = {};
|
|
255
|
+
Object.entries(data).forEach(([key, value]) => {
|
|
256
|
+
newData[key] = replaceBasePathForDocker(value);
|
|
257
|
+
});
|
|
219
258
|
}
|
|
259
|
+
return data;
|
|
220
260
|
}
|
|
@@ -26,10 +26,12 @@ if (BUILD_SOURCE)
|
|
|
26
26
|
endif(BUILD_SOURCE)
|
|
27
27
|
|
|
28
28
|
if (BUILD_BRIDGE)
|
|
29
|
-
file(GLOB BRIDGE_SRC_FILES "${BRIDGE_DIR}/*.i.cpp")
|
|
29
|
+
file(GLOB BRIDGE_SRC_FILES "${BRIDGE_DIR}/*.i.cpp;${EXTERNAL_BRIDGE_GLOB}")
|
|
30
30
|
endif(BUILD_BRIDGE)
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
file(GLOB_RECURSE EXTERNAL_SRC_FILES ${EXTERNAL_NATIVE_GLOB})
|
|
33
|
+
|
|
34
|
+
set(SRC_FILES "${BUILD_SRC_FILES}" "${BRIDGE_SRC_FILES}" "${EXTERNAL_SRC_FILES}")
|
|
33
35
|
add_library("${PROJECT_NAME}" "${BUILD_TYPE}" ${SRC_FILES})
|
|
34
36
|
|
|
35
37
|
set(EXTRA_LINK_LIBRARIES "")
|
|
@@ -44,15 +46,17 @@ endif()
|
|
|
44
46
|
file(GLOB_RECURSE HEADER_FILES ${HEADER_GLOB})
|
|
45
47
|
target_include_directories("${PROJECT_NAME}" PUBLIC "${HEADER_DIR}")
|
|
46
48
|
|
|
49
|
+
install(TARGETS "${PROJECT_NAME}" DESTINATION "lib")
|
|
50
|
+
if(NOT "${HEADER_FILES}" STREQUAL "")
|
|
51
|
+
target_sources("${PROJECT_NAME}"
|
|
52
|
+
PUBLIC FILE_SET HEADERS
|
|
53
|
+
BASE_DIRS "${HEADER_DIR}"
|
|
54
|
+
FILES "${HEADER_FILES}")
|
|
55
|
+
install(TARGETS "${PROJECT_NAME}" FILE_SET HEADERS DESTINATION "include")
|
|
56
|
+
endif()
|
|
57
|
+
|
|
47
58
|
if (BUILD_SOURCE)
|
|
48
|
-
|
|
49
|
-
if(NOT "${HEADER_FILES}" STREQUAL "")
|
|
50
|
-
target_sources("${PROJECT_NAME}"
|
|
51
|
-
PUBLIC FILE_SET HEADERS
|
|
52
|
-
BASE_DIRS "${HEADER_DIR}"
|
|
53
|
-
FILES "${HEADER_FILES}")
|
|
54
|
-
install(TARGETS "${PROJECT_NAME}" FILE_SET HEADERS DESTINATION "include")
|
|
55
|
-
endif()
|
|
59
|
+
|
|
56
60
|
endif(BUILD_SOURCE)
|
|
57
61
|
unset(BUILD_SOURCE CACHE)
|
|
58
62
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#include <emscripten/bind.h>
|
|
2
|
+
|
|
3
|
+
EMSCRIPTEN_BINDINGS(CommonBridges) {
|
|
4
|
+
emscripten::register_vector<char>("VectorChar");
|
|
5
|
+
emscripten::register_vector<short>("VectorShort");
|
|
6
|
+
emscripten::register_vector<int>("VectorInt");
|
|
7
|
+
emscripten::register_vector<int64_t>("VectorInt64");
|
|
8
|
+
emscripten::register_vector<float>("VectorFloat");
|
|
9
|
+
emscripten::register_vector<double>("VectorDouble");
|
|
10
|
+
emscripten::register_vector<std::string>("VectorString");
|
|
11
|
+
|
|
12
|
+
emscripten::register_map<int,int>("MapIntInt");
|
|
13
|
+
emscripten::register_map<int,std::string>("MapIntString");
|
|
14
|
+
emscripten::register_map<std::string,std::string>("MapStringString");
|
|
15
|
+
emscripten::register_map<std::string,int>("MapStringInt");
|
|
16
|
+
}
|
package/src/assets/dist.cmake
CHANGED
|
@@ -9,7 +9,7 @@ if(ANDROID)
|
|
|
9
9
|
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/${PACKAGE_HOST}/lib")
|
|
10
10
|
elseif(APPLE)
|
|
11
11
|
if (CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
|
12
|
-
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}")
|
|
12
|
+
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/../..")
|
|
13
13
|
else()
|
|
14
14
|
set(PACKAGE_HOST "${CMAKE_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}")
|
|
15
15
|
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/${PACKAGE_HOST}/lib")
|
|
@@ -168,7 +168,7 @@ list(APPEND _supported_platforms
|
|
|
168
168
|
"TVOS" "TVOSCOMBINED" "SIMULATOR_TVOS" "SIMULATORARM64_TVOS"
|
|
169
169
|
"WATCHOS" "WATCHOSCOMBINED" "SIMULATOR_WATCHOS" "SIMULATORARM64_WATCHOS"
|
|
170
170
|
"MAC" "MAC_ARM64" "MAC_UNIVERSAL"
|
|
171
|
-
"VISIONOS" "SIMULATOR_VISIONOS" "VISIONOSCOMBINED"
|
|
171
|
+
"VISIONOS" "SIMULATOR_VISIONOS" "VISIONOSCOMBINED"
|
|
172
172
|
"MAC_CATALYST" "MAC_CATALYST_ARM64" "MAC_CATALYST_UNIVERSAL")
|
|
173
173
|
|
|
174
174
|
# Cache what generator is used
|
|
@@ -316,7 +316,7 @@ if(PLATFORM_INT STREQUAL "OS")
|
|
|
316
316
|
set(ARCHS armv7 armv7s arm64)
|
|
317
317
|
set(APPLE_TARGET_TRIPLE_INT arm-apple-ios${DEPLOYMENT_TARGET})
|
|
318
318
|
else()
|
|
319
|
-
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET})
|
|
319
|
+
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET})
|
|
320
320
|
endif()
|
|
321
321
|
elseif(PLATFORM_INT STREQUAL "OS64")
|
|
322
322
|
set(SDK_NAME iphoneos)
|
|
@@ -1049,7 +1049,7 @@ set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
|
|
1049
1049
|
)
|
|
1050
1050
|
|
|
1051
1051
|
if(NAMED_LANGUAGE_SUPPORT_INT)
|
|
1052
|
-
list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
|
1052
|
+
list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
|
1053
1053
|
CMAKE_OBJC_FLAGS
|
|
1054
1054
|
CMAKE_OBJC_DEBUG
|
|
1055
1055
|
CMAKE_OBJC_MINSIZEREL
|
|
@@ -1087,7 +1087,7 @@ IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)
|
|
|
1087
1087
|
ENDIF(NOT DEFINED CMAKE_FIND_FRAMEWORK)
|
|
1088
1088
|
|
|
1089
1089
|
# Set up the default search directories for frameworks.
|
|
1090
|
-
if(PLATFORM_INT MATCHES "^MAC_CATALYST")
|
|
1090
|
+
if(PLATFORM_INT MATCHES "^MAC_CATALYST")
|
|
1091
1091
|
set(CMAKE_FRAMEWORK_PATH
|
|
1092
1092
|
${CMAKE_DEVELOPER_ROOT}/Library/PrivateFrameworks
|
|
1093
1093
|
${CMAKE_OSX_SYSROOT_INT}/System/Library/Frameworks
|