This commit is contained in:
@@ -1,10 +1,30 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(lispy_stuff)
|
||||
|
||||
# we'll use catch2 as testing library.
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
Catch2
|
||||
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
|
||||
GIT_TAG v3.8.1
|
||||
)
|
||||
FetchContent_MakeAvailable(Catch2)
|
||||
list(APPEND CMAKE_MODULE_PATH ${catch2_SOURCE_DIR}/extras)
|
||||
include(Catch)
|
||||
|
||||
set(HEADER_FILES src/include/lex.hpp)
|
||||
set(SOURCE_FILES src/main.cpp src/lex.cpp)
|
||||
set(SOURCE_FILES src/lex.cpp)
|
||||
|
||||
# we're not actually shipping a library yet,
|
||||
# this is so we don't have to compile twice for main and tests.
|
||||
add_library(libmash STATIC ${SOURCE_FILES} ${HEADER_FILES})
|
||||
target_include_directories(libmash PUBLIC src/include/)
|
||||
|
||||
add_executable(main ${SOURCE_FILES} ${HEADER_FILES})
|
||||
# Main target
|
||||
add_executable(main src/main.cpp)
|
||||
target_link_libraries(main libmash)
|
||||
|
||||
# tests
|
||||
add_executable(test src/tests/test.cpp)
|
||||
target_link_libraries(test PRIVATE libmash Catch2::Catch2WithMain)
|
||||
|
||||
target_include_directories(main PRIVATE src/include/)
|
Reference in New Issue
Block a user