- Added a new `main.cpp` file with logic to parse dial rotations from a file and execute safe cracking based on the parsed data. - Introduced a `DialRotation` struct to represent the direction and distance of dial rotations. - Implemented `parseRotations` function to read and parse input from a specified file, returning a vector of `DialRotation` or an error message. - Created `executeSafeCrack` function to process the dial rotations and print the current state of the dial. - Added `.clang-format` and `.clang-tidy` configuration files for code formatting and linting. - Set up a Dockerfile for a development container with necessary tools and dependencies. - Configured VS Code settings and tasks for building, formatting, and running clang-tidy. - Added a script to run clang-tidy on the source files, ensuring code quality.
11 lines
423 B
CMake
11 lines
423 B
CMake
add_executable(day1 main.cpp)
|
|
set_target_properties(day1 PROPERTIES CXX_STANDARD 23 CXX_STANDARD_REQUIRED ON)
|
|
# Use GCC 15's libstdc++ with Clang 21
|
|
target_compile_options(day1 PRIVATE --gcc-toolchain=/usr)
|
|
|
|
add_custom_command(TARGET day1 POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_CURRENT_SOURCE_DIR}/day1_input
|
|
$<TARGET_FILE_DIR:day1>/day1_input
|
|
COMMENT "Copying day1_input to build directory"
|
|
)
|