-
Notifications
You must be signed in to change notification settings - Fork 249
Closed
Description
I think we should switch from Make to CMake. This would have a number of benefits:
- We can easily make the arch part of the targets instead of a Make parameter. I.e. instead of
ARCH=RV32 make c_emulator/riscv_sim_RV32
ARCH=RV64 make c_emulator/riscv_sim_RV64
you can do
make -j2 c_emulator/riscv_sim_RV32 c_emulator/riscv_sim_RV64
which is less redundant and confusing, and also easier to do in parallel (this would half CI time).
- We can use CTest. This allows running tests in parallel, uploading JUnit results to Github, etc.
- CMake - while pretty shit on an absolute scale - is much nicer to use than Make. E.g. generating a
compile_commands.jsonfor IDEs is one line, as is enabling LTO, PIC, etc. It supports splitting your build config into multiple files in a sane way. - CMake is pretty much a de facto standard at this point and has native support from lots of IDEs.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels