34 lines
991 B
CMake
34 lines
991 B
CMake
cmake_minimum_required(VERSION 3.5)
|
|
|
|
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb -fno-omit-frame-pointer -fsanitize=address")
|
|
set (CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
|
|
|
|
if(NOT DEFINED CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE "DEBUG" CACHE STRING "Type of build: Debug|Release")
|
|
endif()
|
|
|
|
project(neovision CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
|
|
add_library(neovisionObj OBJECT
|
|
"src/ansi.cpp"
|
|
"src/application.cpp"
|
|
"src/crt.cpp"
|
|
"src/term.cpp"
|
|
"src/window.cpp"
|
|
"src/view.cpp"
|
|
)
|
|
|
|
target_include_directories(neovisionObj
|
|
PRIVATE
|
|
include
|
|
)
|
|
|
|
set_property(TARGET neovisionObj PROPERTY POSITION_INDEPENDENT_CODE 1)
|
|
|
|
add_library(neovision SHARED $<TARGET_OBJECTS:neovisionObj>)
|
|
add_library(neovision_static STATIC $<TARGET_OBJECTS:neovisionObj>)
|
|
set_target_properties(neovision_static PROPERTIES OUTPUT_NAME neovision)
|