cmake_minimum_required(VERSION 4.1) project(basic-vcs) add_definitions(-DMINIZ=1) set(CMAKE_CXX_STANDARD 23) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) add_executable(basic-vcs src/main.cpp include/sha1.hpp include/init.h include/cat-file.h include/commands.h include/ls-tree.h include/write-tree.h src/commands/cat-file.cpp src/commands/init.cpp src/commands/ls-tree.cpp src/commands/write-tree.cpp src/commands/hash-object.cpp include/hash-object.h src/commands/commit-tree.cpp include/commit-tree.h include/commit-tree.h src/miniz.c include/miniz.h src/tz.cpp) target_link_libraries(basic-vcs PRIVATE ) target_include_directories(basic-vcs PRIVATE include) if(CMAKE_SYSTEM_NAME STREQUAL "Windows") set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT basic-vcs) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") endif()