# Until we have a clear separation, libyul has to be included here set(sources analysis/ConstantEvaluator.cpp analysis/ConstantEvaluator.h analysis/ContractLevelChecker.cpp analysis/ContractLevelChecker.h analysis/ControlFlowAnalyzer.cpp analysis/ControlFlowAnalyzer.h analysis/ControlFlowBuilder.cpp analysis/ControlFlowBuilder.h analysis/ControlFlowGraph.cpp analysis/ControlFlowGraph.h analysis/ControlFlowRevertPruner.cpp analysis/ControlFlowRevertPruner.h analysis/DeclarationContainer.cpp analysis/DeclarationContainer.h analysis/DeclarationTypeChecker.cpp analysis/DeclarationTypeChecker.h analysis/DocStringAnalyser.cpp analysis/DocStringAnalyser.h analysis/DocStringTagParser.cpp analysis/DocStringTagParser.h analysis/FunctionCallGraph.cpp analysis/FunctionCallGraph.h analysis/ImmutableValidator.cpp analysis/ImmutableValidator.h analysis/GlobalContext.cpp analysis/GlobalContext.h analysis/NameAndTypeResolver.cpp analysis/NameAndTypeResolver.h analysis/OverrideChecker.cpp analysis/OverrideChecker.h analysis/PostTypeChecker.cpp analysis/PostTypeChecker.h analysis/PostTypeContractLevelChecker.cpp analysis/PostTypeContractLevelChecker.h analysis/ReferencesResolver.cpp analysis/ReferencesResolver.h analysis/Scoper.cpp analysis/Scoper.h analysis/StaticAnalyzer.cpp analysis/StaticAnalyzer.h analysis/SyntaxChecker.cpp analysis/SyntaxChecker.h analysis/TypeChecker.cpp analysis/TypeChecker.h analysis/ViewPureChecker.cpp analysis/ViewPureChecker.h ast/AST.cpp ast/AST.h ast/AST_accept.h ast/ASTAnnotations.cpp ast/ASTAnnotations.h ast/ASTEnums.h ast/ASTForward.h ast/ASTJsonExporter.cpp ast/ASTJsonExporter.h ast/ASTUtils.cpp ast/ASTUtils.h ast/ASTJsonImporter.cpp ast/ASTJsonImporter.h ast/ASTVisitor.h ast/CallGraph.cpp ast/CallGraph.h ast/ExperimentalFeatures.h ast/UserDefinableOperators.h ast/Types.cpp ast/Types.h ast/TypeProvider.cpp ast/TypeProvider.h codegen/ABIFunctions.cpp codegen/ABIFunctions.h codegen/ArrayUtils.cpp codegen/ArrayUtils.h codegen/Compiler.cpp codegen/Compiler.h codegen/CompilerContext.cpp codegen/CompilerContext.h codegen/CompilerUtils.cpp codegen/CompilerUtils.h codegen/ContractCompiler.cpp codegen/ContractCompiler.h codegen/ExpressionCompiler.cpp codegen/ExpressionCompiler.h codegen/LValue.cpp codegen/LValue.h codegen/MultiUseYulFunctionCollector.h codegen/MultiUseYulFunctionCollector.cpp codegen/ReturnInfo.h codegen/ReturnInfo.cpp codegen/YulUtilFunctions.h codegen/YulUtilFunctions.cpp codegen/ir/Common.cpp codegen/ir/Common.h codegen/ir/IRGenerator.cpp codegen/ir/IRGenerator.h codegen/ir/IRGeneratorForStatements.cpp codegen/ir/IRGeneratorForStatements.h codegen/ir/IRGenerationContext.cpp codegen/ir/IRGenerationContext.h codegen/ir/IRLValue.h codegen/ir/IRVariable.cpp codegen/ir/IRVariable.h experimental/analysis/Analysis.cpp experimental/analysis/Analysis.h formal/ArraySlicePredicate.cpp formal/ArraySlicePredicate.h formal/BMC.cpp formal/BMC.h formal/CHC.cpp formal/CHC.h formal/EncodingContext.cpp formal/EncodingContext.h formal/ExpressionFormatter.cpp formal/ExpressionFormatter.h formal/Invariants.cpp formal/Invariants.h formal/ModelChecker.cpp formal/ModelChecker.h formal/ModelCheckerSettings.cpp formal/ModelCheckerSettings.h formal/Predicate.cpp formal/Predicate.h formal/PredicateInstance.cpp formal/PredicateInstance.h formal/PredicateSort.cpp formal/PredicateSort.h formal/SMTEncoder.cpp formal/SMTEncoder.h formal/SSAVariable.cpp formal/SSAVariable.h formal/SymbolicState.cpp formal/SymbolicState.h formal/SymbolicTypes.cpp formal/SymbolicTypes.h formal/SymbolicVariables.cpp formal/SymbolicVariables.h formal/VariableUsage.cpp formal/VariableUsage.h interface/ABI.cpp interface/ABI.h interface/CompilerStack.cpp interface/CompilerStack.h interface/DebugSettings.h interface/FileReader.cpp interface/FileReader.h interface/ImportRemapper.cpp interface/ImportRemapper.h interface/GasEstimator.cpp interface/GasEstimator.h interface/Natspec.cpp interface/Natspec.h interface/OptimiserSettings.h interface/ReadFile.h interface/SMTSolverCommand.cpp interface/SMTSolverCommand.h interface/StandardCompiler.cpp interface/StandardCompiler.h interface/StorageLayout.cpp interface/StorageLayout.h interface/UniversalCallback.h interface/Version.cpp interface/Version.h lsp/DocumentHoverHandler.cpp lsp/DocumentHoverHandler.h lsp/FileRepository.cpp lsp/FileRepository.h lsp/GotoDefinition.cpp lsp/GotoDefinition.h lsp/RenameSymbol.cpp lsp/RenameSymbol.h lsp/HandlerBase.cpp lsp/HandlerBase.h lsp/LanguageServer.cpp lsp/LanguageServer.h lsp/SemanticTokensBuilder.cpp lsp/SemanticTokensBuilder.h lsp/Transport.cpp lsp/Transport.h lsp/Utils.cpp lsp/Utils.h parsing/DocStringParser.cpp parsing/DocStringParser.h parsing/Parser.cpp parsing/Parser.h parsing/Token.h ) add_library(solidity ${sources}) target_link_libraries(solidity PUBLIC yul evmasm langutil smtutil solutil Boost::boost fmt::fmt-header-only Threads::Threads)