[CLI] Store information about HMPP module for source files

This commit is contained in:
Dmitriy Novozhilov
2023-02-09 17:48:11 +02:00
committed by Space Team
parent 77caa31640
commit d4bb740a62
16 changed files with 68 additions and 24 deletions
@@ -9,14 +9,17 @@ import org.jetbrains.kotlin.cli.common.arguments.K2NativeCompilerArguments
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoot
import org.jetbrains.kotlin.cli.common.config.kotlinSourceRoots
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.*
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.getModuleNameForSource
import org.jetbrains.kotlin.konan.file.File
import org.jetbrains.kotlin.konan.target.CompilerOutputKind
fun CompilerConfiguration.setupFromArguments(arguments: K2NativeCompilerArguments) = with(KonanConfigKeys) {
val commonSources = arguments.commonSources?.toSet().orEmpty().map { it.absoluteNormalizedFile() }
val hmppModuleStructure = get(CommonConfigurationKeys.HMPP_MODULE_STRUCTURE)
arguments.freeArgs.forEach {
addKotlinSourceRoot(it, it.absoluteNormalizedFile() in commonSources)
addKotlinSourceRoot(it, isCommon = it.absoluteNormalizedFile() in commonSources, hmppModuleStructure?.getModuleNameForSource(it))
}
// Can be overwritten by explicit arguments below.