-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
44 lines (34 loc) · 1.12 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
cmake_minimum_required(VERSION 3.23)
project(hexit)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Uncomment to check the source and binary directories
#message(STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}")
#message(STATUS "CMAKE_SOURCE_DIR: ${CMAKE_SOURCE_DIR}")
include(CTest)
add_compile_options(-Wall -Wextra -Werror -pedantic -Wconversion)
add_executable(${PROJECT_NAME})
if(BUILD_TESTING)
# Taken from https://google.github.io/googletest/quickstart-cmake.html
include(FetchContent)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip
)
FetchContent_MakeAvailable(googletest)
add_subdirectory(test)
endif()
find_package(Curses REQUIRED)
target_include_directories(${PROJECT_NAME} PRIVATE src)
target_sources(${PROJECT_NAME} PRIVATE
src/hexit.cc
src/TerminalWindow.cc
src/ByteBuffer.cc
src/ChunkCache.cc
src/FileHandler.cc
src/StdInHandler.cc
src/SignatureReader.cc
src/Scroller.cc
src/Utilities.cc
)
target_link_libraries(${PROJECT_NAME} ${CURSES_LIBRARIES})