blob: 4efef3a564fc71fabc5db3a12c632e5954df0882 [file] [log] [blame]
/*
* 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 = ':collection:collection: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
}
}