pubnix/lib/neovision/CMakeLists.txt

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)