Skip to content

Refacto/cmake - #707

Closed
SuperFola wants to merge 2 commits into
devfrom
refacto/cmake
Closed

Refacto/cmake#707
SuperFola wants to merge 2 commits into
devfrom
refacto/cmake

Conversation

@SuperFola

Copy link
Copy Markdown
Member

Description

Refactor CMakeLists to split the targets into their own file.

Checklist

  • I have read the Contributor guide
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation if needed (on https://github.com/ArkScript-lang/website, content/docs/)
  • I have added tests that prove my fix/feature is working
  • New and existing tests pass locally with my changes
  • I confirm that I am the author of this code and release it to the ArkScript project under the MPL-2.0 license. This contribution does not contain code from other sources, including code generated by a Large Language Model ("AI").

@github-actions

Copy link
Copy Markdown

Static analysis report

Lizard report

Listing only functions with cyclomatic complexity >= 15 or NLOC >= 100 or parameters >= 6.

Report about files you didn't modify in this PR
Filename Start line:end line Function name Parameters NLOC CCN
src/arkreactor/VM/VM.cpp 457:2165 Ark::VM::unsafeRun 2 1437 283
src/arkreactor/Compiler/Macros/Processor.cpp 259:643 Ark::internal::MacroProcessor::evaluate 3 353 119
src/arkreactor/Compiler/BytecodeReader.cpp 385:596 Ark::BytecodeReader::display 4 171 92
src/arkscript/main.cpp 24:391 main 2 317 45
src/arkreactor/Error/Diagnostics.cpp 45:192 Ark::Diagnostics::makeContext 4 109 44
src/arkreactor/Compiler/AST/Parser.cpp 841:975 Ark::internal::Parser::string 1 131 42
src/arkscript/JsonCompiler.cpp 27:276 JsonCompiler::_compile 1 214 38
src/arkreactor/Compiler/NameResolution/NameResolutionPass.cpp 163:268 Ark::internal::NameResolutionPass::visitKeyword 3 85 35
src/arkreactor/Builtins/Slice.cpp 21:93 Ark::internal::Builtins::slice 1 63 34
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 361:440 Ark::internal::ASTLowerer::compileListInstruction 3 64 32
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 212:322 Ark::internal::ASTLowerer::compileExpression 5 92 31
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 891:1039 Ark::internal::ASTLowerer::handleFunctionCall 3 116 31
src/arkreactor/Compiler/AST/Node.cpp 179:285 Ark::internal::Node::repr 0 90 30
src/arkreactor/Compiler/Macros/Processor.cpp 107:191 Ark::internal::MacroProcessor::processNode 3 63 28
src/arkreactor/Compiler/AST/Node.cpp 287:368 Ark::internal::Node::debugPrint 1 70 26
src/arkreactor/Compiler/BytecodeReader.cpp 612:713 Ark::BytecodeReader::printInstruction 7 98 25
src/arkreactor/TypeChecker.cpp 149:236 Ark::types::generateError 6 75 25
src/arkreactor/Compiler/NameResolution/StaticScope.cpp 70:124 Ark::internal::NamespaceScope::get 3 42 24
src/arkreactor/TypeChecker.cpp 32:147 Ark::types::displayContract 6 102 24
src/arkreactor/Compiler/NameResolution/NameResolutionPass.cpp 57:161 Ark::internal::NameResolutionPass::visit 2 83 23
src/arkreactor/Compiler/AST/Parser.cpp 289:417 Ark::internal::Parser::import_ 1 98 23
include/utf8.hpp 138:184 utf8::isValid 1 44 21
src/arkreactor/VM/Value/Value.cpp 81:149 Ark::Value::toString 2 54 21
src/arkreactor/Compiler/IntermediateRepresentation/IRInliner.cpp 258:330 Ark::internal::IRInliner::extractPagesMetadata 1 63 21
src/arkreactor/VM/VM.cpp 2319:2413 Ark::VM::backtrace 3 81 20
src/arkreactor/Compiler/AST/Optimizer.cpp 35:85 Ark::internal::Optimizer::countAndPruneDeadCode 1 42 20
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 520:613 Ark::internal::ASTLowerer::compileFunction 3 67 19
src/arkreactor/Compiler/IntermediateRepresentation/IRInliner.cpp 128:189 Ark::internal::IRInliner::isBuiltinProxy 1 48 19
src/arkreactor/Builtins/String.cpp 47:113 fmt::formatter::parse 1 59 18
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 837:889 Ark::internal::ASTLowerer::handleOperator 3 42 18
src/arkreactor/Compiler/AST/Optimizer.cpp 87:144 Ark::internal::Optimizer::pruneUnusedGlobalVariables 1 50 18
src/arkscript/Formatter.cpp 212:274 Formatter::format 3 59 18
src/arkscript/Formatter.cpp 527:585 Formatter::formatCall 2 50 18
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 107:129 Ark::internal::ASTLowerer::nodeProducesOutput 1 18 17
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 635:683 Ark::internal::ASTLowerer::compileLetMutSet 4 40 17
src/arkreactor/Compiler/Macros/Executors/Function.cpp 16:89 Ark::internal::FunctionExecutor::applyMacro 2 56 17
include/Ark/Compiler/AST/Predicates.hpp 142:166 Ark::internal::IsSymbol::operator ( ) 1 24 16
src/arkscript/Formatter.cpp 324:366 Formatter::formatFunction 2 36 16
src/arkreactor/VM/VM.cpp 2177:2234 Ark::VM::throwArityError 4 47 15
src/arkreactor/Compiler/Macros/Executors/Function.cpp 99:156 Ark::internal::FunctionExecutor::unify 5 50 15
src/arkreactor/Compiler/IntermediateRepresentation/IROptimizer.cpp 22:259 Ark::internal::IROptimizer::IROptimizer 1 215 12
src/arkreactor/Builtins/Time.cpp 72:92 Ark::internal::Builtins::Time::makeTimestamp 6 20 5
src/arkreactor/Error/Diagnostics.cpp 194:211 Ark::Diagnostics::helper 7 17 2

CppCheck report

Report files about files you didn't modify in this PR
Filename Line Type Description
include/Ark/VM/VM.inl 267 style Variable 'maybe_value_ptr' can be declared as pointer to const
src/arkreactor/Builtins/Bytecode.cpp 23 style Parameter 'vm' can be declared as pointer to const
src/arkreactor/Builtins/Time.cpp 32 style Parameter 'n' can be declared as reference to const
src/arkreactor/Compiler/BytecodeReader.cpp 20 performance Variable 'm_arg_kinds' is assigned in constructor body. Consider performing initialization in initialization list.
src/arkreactor/Compiler/Lowerer/ASTLowerer.cpp 658 style Consider using std::count_if algorithm instead of a raw loop.
src/arkreactor/Compiler/Lowerer/LocalsLocator.cpp 26 style The scope of the variable 'data' can be reduced.
src/arkreactor/Compiler/NameResolution/ScopeResolver.cpp 136 style Consider using std::find_if algorithm instead of a raw loop.
src/arkreactor/State.cpp 183 style Variable 'bytecode_hash' is assigned a value that is never used.
src/arkreactor/VM/Debugger.cpp 352 style Parameter 'context' can be declared as reference to const
src/arkreactor/VM/SharedLibrary.cpp 0 information Too many #ifdef configurations - cppcheck only checks 12 of 13 configurations. Use --force to check all configurations.
src/arkreactor/VM/VM.cpp 0 information Too many #ifdef configurations - cppcheck only checks 12 of 13 configurations. Use --force to check all configurations.
src/arkreactor/VM/VM.cpp 281 error Iterators of different containers 'm_execution_contexts.emplace_back(std::make_unique())' and 'm_execution_contexts.front()' are used together.
include/Ark/VM/Value/Future.hpp 50 style Unused private function: 'Future::deleteSelfViaVM'
src/arkreactor/VM/Value/Future.cpp 23 performance Variable 'm_value' is assigned in constructor body. Consider performing initialization in initialization list.

@SuperFola

Copy link
Copy Markdown
Member Author

Alas this isn't doable as I wanted to, it seems. It needs a unique build directory per CMake subdirectory...

@SuperFola SuperFola closed this Aug 15, 2026
@SuperFola
SuperFola deleted the refacto/cmake branch August 15, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant