CLion: SCons, compilation database and debugger
Correct target, separate build/index/run stages and the current generator failure.
This configures CLion for Reckfell 1.0.0 native C/C++ sources, not game C# scripts. SCons remains the build system. Indexing, compiling and debugging are separate stages; opening a folder proves neither of the latter two.
Before opening
Use compiler/SDK tools and a working SCons command for the intended platform/target/architecture. See source setup. Generation commands here follow source contracts but were not executed in the engine checkout.
Local SCons 4.11.1 lacks SCons.Entity: two exact isolated recursive-glob helpers fail with ImportError at that import. The issue remains unfixed. Related generator paths fail before IDE operation; an old database proves no successful new generation. Full SCons configuration/generation was not run here.
Generate the intended compilation database
Run generation from Source, containing SConstruct. Example configuration selection for Windows x86_64 editor:
scons platform=windows target=editor arch=x86_64 dev_build=yes debug_symbols=yes compiledb=yes compiledb_gen_only=yescompiledb=yes enables the compilation_db tool; compiledb_gen_only=yes selects writing compile_commands.json and exiting before compiler build actions. SCons setup must still succeed; the option bypasses no setup failures and creates no executable. Replace parameters for your working platform/architecture without mixing target defines.
Open compile_commands.json itself as a project using the CLion database workflow. Select the resolve toolchain; regenerate/reload after compiler/platform/module changes. Verify the intended .cpp entry and its includes/defines.
Do not load Android nativeSrcsConfigs/CMakeLists.txt as a universal native-project repair: it explicitly provides non-functional editor support with Android defines. It can show files without establishing a correct Windows configuration or engine build.
Custom Build Target
Create a target under Settings → Build, Execution, Deployment → Custom Build Targets. Its Build tool should call SCons with complete build arguments from Source, omitting compiledb_gen_only. The database does not encode the link/run workflow. See custom targets.
External tools have their own environment: selecting a debugger toolchain does not guarantee identical PATH/SDK/compiler variables for Build. Compare command/environment to a working terminal invocation first. Do not expect shell substitutions such as $(nproc) in Arguments.
Clean is unnecessary for ordinary Run. If configured, restrict it to matching platform/target/arch/options rather than deleting bin/Runtime directories. Database generation is not the first successful build: only that build produces the executable.
Run/Debug
Create a Custom Build Application, selecting the custom target and actual built executable; see run configuration fields. Use --path to the directory containing project.reckfell for a game; also add --editor for editor work. Set a suitable working directory without relying on it to replace --path.
Symbols must match the selected binary. Verify a simple native breakpoint in your source, the correct PID and actual execution of that code. Project Manager/editor/Play may use different processes; compare executable path/command line when attaching. Highest PID is no reliable selection rule.
Troubleshooting
| Symptom | Check |
|---|---|
| ImportError SCons.Entity | Generator/tooling failure before IDE operation; see source setup and retained diagnostics |
| Wrong includes/defines | Current database for platform/target/arch/modules and a matching resolve toolchain |
| Code indexes but Build fails | Custom Build tool, Source working directory and environment |
| Project Manager launches | Explicit --path to the project.reckfell directory; add --editor when required |
| Breakpoint never hits | Executing PID, matching binary/symbols/source and optimization |
| Missing profiler/Valgrind feature | Separate toolchain/tool setup; Custom Build Application guarantees neither |
Verification limits
SCons option branches and Android CMake role were source-reviewed; workflow checked against current CLion docs. Exact helper ImportError observations and CLI targeting evidence were reused without rerunning. Database generation, compile/link, indexing, GUI and CLion breakpoints remain untested. Engine source, Runtime and SDK unchanged.