You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
cmake_minimum_required(VERSION 3.7.2) |
|
|
|
if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") |
|
message(FATAL_ERROR "In-source builds are disabled. |
|
Please create a subfolder called build and use `cmake ..` inside it. |
|
NOTE: cmake will now create CMakeCache.txt and CMakeFiles/*. |
|
You must delete them, or cmake will refuse to work.") |
|
endif() |
|
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "bin" "doc" "CMakeFiles" "lib" "include") |
|
|
|
set(CMAKE_C_COMPILER "clang") |
|
set(CMAKE_CXX_COMPILER "clang++") |
|
|
|
project(Terminal) |
|
set(CMAKE_CXX_STANDARD 14) |
|
|
|
# enable clang_tidy |
|
set(CMAKE_CXX_CLANG_TIDY clang-tidy;-header-filter=.;) |
|
|
|
file(GLOB_RECURSE SOURCES src/*.cpp) |
|
file(GLOB_RECURSE HEADERS src/*.hpp) |
|
file(GLOB_RECURSE TESTS test/*.cpp) |
|
include_directories(src) |
|
include_directories(test) |
|
|
|
|
|
set(LIB_PATH "${CMAKE_SOURCE_DIR}/../library") |
|
|
|
include_directories(${LIB_PATH}/include) |
|
add_executable(Terminal ${SOURCES} ${HEADERS} main/main.cpp) |
|
|
|
target_link_libraries(Terminal ${LIB_PATH}/lib/liblibrary.a) |
|
|
|
|
|
enable_testing() |
|
find_package(Catch2 REQUIRED) |
|
add_executable(UnitTests ${SOURCES} ${HEADERS} ${TESTS}) |
|
target_link_libraries(UnitTests Catch2::Catch2) |
|
|
|
include(CTest) |
|
include(Catch) |
|
catch_discover_tests(UnitTests)
|
|
|