Skip to content

Instantly share code, notes, and snippets.

@saber-nyan
Last active June 3, 2017 11:22
Show Gist options
  • Save saber-nyan/9c8df816009bdc8947bc8691d1be8067 to your computer and use it in GitHub Desktop.
Save saber-nyan/9c8df816009bdc8947bc8691d1be8067 to your computer and use it in GitHub Desktop.
CMake file for 2ch-cli
cmake_minimum_required(VERSION 3.7)
project(2ch-cli)
if(NOT WIN32)
string(ASCII 27 Esc)
set(ColorReset "${Esc}[m")
set(ColorBold "${Esc}[1m")
set(Red "${Esc}[31m")
set(Green "${Esc}[32m")
set(Yellow "${Esc}[33m")
set(Blue "${Esc}[34m")
set(Magenta "${Esc}[35m")
set(Cyan "${Esc}[36m")
set(White "${Esc}[37m")
set(BoldRed "${Esc}[1;31m")
set(BoldGreen "${Esc}[1;32m")
set(BoldYellow "${Esc}[1;33m")
set(BoldBlue "${Esc}[1;34m")
set(BoldMagenta "${Esc}[1;35m")
set(BoldCyan "${Esc}[1;36m")
set(BoldWhite "${Esc}[1;37m")
endif()
# Юзерагент
if ("${CURL_USERAGENT}" STREQUAL "")
set(CURL_USERAGENT "Linux")
endif()
# Редактор
if ("${DEFAULT_EDITOR}" STREQUAL "")
set(DEFAULT_EDITOR "nano")
endif()
# Мейл
if ("${DEFAULT_EMAIL}" STREQUAL "")
set(DEFAULT_EMAIL "")
endif()
message("${Cyan}Default useragent is ${Magenta}${CURL_USERAGENT}${ColorReset}")
message("${Cyan}Default editor is ${Magenta}${DEFAULT_EDITOR}${ColorReset}")
message("${Cyan}Default email is ${Magenta}${DEFAULT_EMAIL}${ColorReset}")
link_directories(/lib64 /usr/lib64)
include_directories(/usr/include)
# FIXME: Лютейший костыль, после исправления хедеров обязательно убрать!
set(LINKER_FLAGS "-z muldefs")
set(CMAKE_EXE_LINKER_FLAGS "${LINKER_FLAGS}")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "-fPIC -Wno-pointer-arith")
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb")
set(SOURCE_FILES
src/2ch-cli.cpp
src/2ch-cli.h
src/error.h
src/external.cpp
src/external.h
src/makaba.cpp
src/makaba.h
src/parser.cpp
src/parser.h)
set(LINK_LIBRARIES
curl
jsoncpp
ncursesw
caca)
add_executable(2ch-cli ${SOURCE_FILES})
target_link_libraries(2ch-cli ${LINK_LIBRARIES})
target_compile_definitions(2ch-cli PRIVATE
CURL_UA="${CURL_USERAGENT}"
DEFAULT_EDITOR="${DEFAULT_EDITOR}"
DEFAULT_EMAIL="${DEFAULT_EMAIL}")
install(TARGETS 2ch-cli DESTINATION bin)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment