diff options
author | HampusM <hampus@hampusmat.com> | 2022-04-28 22:01:40 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-04-28 22:01:40 +0200 |
commit | 1f97ab2ef846462d7a599fbd3ac9415da8f0953b (patch) | |
tree | 10641b65e57f642aaa402d2b4b945496cc7c6bfc /CMakeLists.txt | |
parent | d2a87d5803c7aaa9a47791a5a0f1494c19671ebc (diff) |
build: change to static library
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 41 |
1 files changed, 37 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9810762..25ead17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,45 @@ cmake_minimum_required(VERSION 3.2.0) +set(CMAKE_EXPORT_COMPILE_COMMANDS 1) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + + project(yacppdic CXX) -add_library(${PROJECT_NAME} INTERFACE) +add_library(${PROJECT_NAME} STATIC) + +target_sources( + ${PROJECT_NAME} + PRIVATE + src/container.cpp + src/object_type.cpp +) + +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) + +target_compile_options( + ${PROJECT_NAME} + PRIVATE + -Wall -Wextra -Wpedantic -Wshadow + -Wold-style-cast -Wcast-align -Wno-unused + -Wconversion -Wcast-qual -Wctor-dtor-privacy + -Wdisabled-optimization -Wformat=2 -Winit-self + -Wmissing-declarations -Wmissing-include-dirs + -Woverloaded-virtual -Wredundant-decls + -Wsign-conversion -Wsign-promo + -Wstrict-overflow=5 -Wswitch-default + -Wundef -Werror + -pedantic -fsanitize=address -fno-exceptions -stdlib=libc++ +) + +target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=address -stdlib=libc++) -target_include_directories( - ${PROJECT_NAME} - INTERFACE +target_include_directories(${PROJECT_NAME} + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src + PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> ) |