41 lines
1.2 KiB
CMake
41 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 4.1)
|
|
project(basic-vcs)
|
|
|
|
include(FetchContent)
|
|
FetchContent_Declare(ZStrGitRepo
|
|
GIT_REPOSITORY "https://github.com/mateidavid/zstr" # can also be a local filesystem path!
|
|
GIT_TAG "master"
|
|
)
|
|
FetchContent_MakeAvailable(ZStrGitRepo) # defines INTERFACE target 'zstr::zstr'
|
|
|
|
set(BUILD_TZ_LIB ON)# timezone support
|
|
|
|
FetchContent_Declare( date_src
|
|
GIT_REPOSITORY https://gitlab.com/JosephA1997/date.git
|
|
GIT_TAG "master"
|
|
)
|
|
FetchContent_MakeAvailable(date_src)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
|
|
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/clone.cpp
|
|
include/clone.h
|
|
src/commands/commit-tree.cpp
|
|
include/commit-tree.h
|
|
include/commit-tree.h)
|
|
|
|
target_link_libraries(basic-vcs PRIVATE zstr::zstr date::date date::date-tz)
|
|
target_include_directories(basic-vcs PRIVATE include) |