| .vscode | ||
| build | ||
| data | ||
| src | ||
| .clang-format | ||
| .clang-tidy | ||
| .cmake-format | ||
| .gitignore | ||
| CMakeLists.txt | ||
| conanfile.py | ||
| README.md | ||
dc_task
Direct Conversion engineering task. Uses C++20 standard features. Currently, fmt library is used instead of std::format because it is not as of yet implemented in GCC.
Dependencies
For dependencies, I use conan package manager to pull them all. This project's dependencies can be seen in conanfile.py.
How to compile it
To compile the project, first you'll need to install conan to manage the dependencies:
pip install conan
If you don't have pip installed, refer to this conan installation guide.
Next, we're creating two profiles for Debug and Release:
cd build
# We're building missing packages from source
conan install .. -s build_type=Debug -s cppstd=20 -if Debug --build=missing
conan install .. -s build_type=Release -s cppstd=20 -if Release --build=missing
After that, the easiest way to build the application is by using VS Code CMake Tools extension.
Building manually (without CMake Tools)
If you're using other editor or don't want to use the CMake Tools extension, you'll have to build the project manually. First, use CMake to generate the appropriate build files (replace Release with Debug if needed):
cd Release
cmake ../.. -DCMAKE_BUILD_TYPE=Release
Using generated files, you can compile the project:
cmake --build . # For MacOS/Linux
cmake --build . --config Release # For Windows you have to specify build type
Now, enjoy your freshly minted binaries inside the bin folder!
Launching the program
Internal code uses relative paths for loading sample data, so make sure that your working directory is the project root. Here's an example of how you can run the binary:
./build/Release/bin/dc_task ./data/000000.DCF
Cleaning up build files
If you want to clean up the build files and binaries, you can use git from the project root directory:
git clean -dfX build