| /* |
| * Copyright 2021 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| plugins {} |
| |
| def githubBuild = project.properties['androidx.github.build'] ?: false |
| if (githubBuild) { |
| apply plugin: "cpp-application" |
| |
| def COLLECTION_KMP_FRAMEWORK_NAME = 'CollectionKMP' |
| def FRAMEWORK_TASK = ':collection2:collection2:linkReleaseFrameworkMacosX64' |
| |
| tasks.withType(CppCompile) { |
| def frameworkPath = tasks.getByPath(FRAMEWORK_TASK).outputs.files.singleFile.toString() |
| |
| // Add *.m and *.mm files to the source set, since by default the C++ plug-in doesn't do |
| // that. |
| def sourceFiles = files("src/main/objc/").asFileTree.matching { include("**/*.m?") } |
| inputs.files(sourceFiles) |
| source.from(sourceFiles) |
| |
| compilerArgs.addAll '-x', 'objective-c++', '-F', frameworkPath |
| } |
| |
| tasks.withType(LinkExecutable) { |
| def frameworkTask = tasks.getByPath(FRAMEWORK_TASK) |
| dependsOn(frameworkTask) |
| |
| def frameworkPath = frameworkTask.outputs.files.singleFile.toString() |
| linkerArgs.addAll '-framework', 'Foundation', |
| '-l', 'benchmark', |
| '-framework', COLLECTION_KMP_FRAMEWORK_NAME, |
| '-F', frameworkPath, |
| '-rpath', frameworkPath |
| } |
| } |