61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
val newBuildDir: Directory =
|
|
rootProject.layout.buildDirectory
|
|
.dir("../../build")
|
|
.get()
|
|
rootProject.layout.buildDirectory.value(newBuildDir)
|
|
|
|
subprojects {
|
|
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
|
|
project.layout.buildDirectory.value(newSubprojectBuildDir)
|
|
}
|
|
subprojects {
|
|
if (project.name == "agora_rtc_engine" || project.name == "iris_method_channel") {
|
|
tasks.configureEach {
|
|
if (name.startsWith("configureCMake") || name.startsWith("buildCMake")) {
|
|
doFirst {
|
|
val cmakeFile = listOf(
|
|
project.file("src/main/cpp/CMakeLists.txt"),
|
|
project.file("../src/CMakeLists.txt"),
|
|
).firstOrNull { it.exists() }
|
|
|
|
if (cmakeFile != null) {
|
|
val text = cmakeFile.readText()
|
|
if (!text.contains("c++_shared")) {
|
|
val patchedText =
|
|
if (text.contains("target_link_libraries")) {
|
|
text.replace(
|
|
" EGL\n )",
|
|
" EGL\n c++_shared\n )",
|
|
)
|
|
} else {
|
|
text + """
|
|
|
|
target_link_libraries(${'$'}{LIBRARY_NAME}
|
|
PRIVATE
|
|
c++_shared
|
|
)
|
|
"""
|
|
}
|
|
cmakeFile.writeText(patchedText)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
subprojects {
|
|
project.evaluationDependsOn(":app")
|
|
}
|
|
|
|
tasks.register<Delete>("clean") {
|
|
delete(rootProject.layout.buildDirectory)
|
|
}
|