4 Commits

4 changed files with 49 additions and 12 deletions

32
.clang-format Normal file
View File

@@ -0,0 +1,32 @@
# clang-format is fairly limited, and these rules are approximate:
# - array initializers can get terribly mangled with clang-format 12.0,
# - sometimes it still aligns with space characters,
# - struct name NL { NL ... NL } NL name; is unachievable.
BasedOnStyle: GNU
ColumnLimit: 80
IndentWidth: 4
TabWidth: 4
UseTab: ForContinuationAndIndentation
BreakBeforeBraces: Allman
SpaceAfterCStyleCast: true
AlignAfterOpenBracket: DontAlign
AlignOperands: DontAlign
AlignConsecutiveMacros: Consecutive
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
IndentGotoLabels: false
# IncludeCategories has some potential, but it may also break the build.
# Note that the documentation says the value should be "Never".
SortIncludes: false
# This is a compromise, it generally works out aesthetically better.
BinPackArguments: false
# Unfortunately, this can't be told to align to column 40 or so.
SpacesBeforeTrailingComments: 2
# liberty-specific macro body wrappers.
MacroBlockBegin: "BLOCK_START"
MacroBlockEnd: "BLOCK_END"
ForEachMacros: ["LIST_FOR_EACH"]

2
.gitignore vendored
View File

@@ -7,3 +7,5 @@
/nncmpp.files /nncmpp.files
/nncmpp.creator* /nncmpp.creator*
/nncmpp.includes /nncmpp.includes
/nncmpp.cflags
/nncmpp.cxxflags

View File

@@ -24,14 +24,17 @@ option (USE_SYSTEM_TERMO
if (USE_SYSTEM_TERMO) if (USE_SYSTEM_TERMO)
if (NOT Termo_FOUND) if (NOT Termo_FOUND)
message (FATAL_ERROR "System termo library not found") message (FATAL_ERROR "System termo library not found")
endif (NOT Termo_FOUND) endif ()
else () else ()
# We don't want the library to install, but EXCLUDE_FROM_ALL ignores tests
add_subdirectory (termo EXCLUDE_FROM_ALL) add_subdirectory (termo EXCLUDE_FROM_ALL)
# We don't have many good choices when we don't want to install it and want file (WRITE ${PROJECT_BINARY_DIR}/CTestCustom.cmake
# to support older versions of CMake; this is a relatively clean approach "execute_process (COMMAND ${CMAKE_COMMAND} --build termo)")
# (other possibilities: setting a variable in the parent scope, using a
# cache variable, writing a special config file with build paths in it and # We don't have many good choices; this is a relatively clean approach
# including it here, or setting a custom property on the targets). # (other possibilities: setting a variable in the parent scope, using
# a cache variable, writing a special config file with build paths in it
# and including it here, or setting a custom property on the targets)
get_directory_property (Termo_INCLUDE_DIRS get_directory_property (Termo_INCLUDE_DIRS
DIRECTORY termo INCLUDE_DIRECTORIES) DIRECTORY termo INCLUDE_DIRECTORIES)
set (Termo_LIBRARIES termo-static) set (Termo_LIBRARIES termo-static)
@@ -51,16 +54,16 @@ include_directories (${Unistring_INCLUDE_DIRS}
link_directories (${curl_LIBRARY_DIRS} ${fftw_LIBRARY_DIRS}) link_directories (${curl_LIBRARY_DIRS} ${fftw_LIBRARY_DIRS})
# Configuration # Configuration
include (CheckFunctionExists)
set (CMAKE_REQUIRED_LIBRARIES ${Ncursesw_LIBRARIES})
CHECK_FUNCTION_EXISTS ("resizeterm" HAVE_RESIZETERM)
if ("${CMAKE_SYSTEM_NAME}" MATCHES "BSD") if ("${CMAKE_SYSTEM_NAME}" MATCHES "BSD")
# Need this for SIGWINCH in FreeBSD and OpenBSD respectively; # Need this for SIGWINCH in FreeBSD and OpenBSD respectively;
# our POSIX version macros make it undefined # our POSIX version macros make it undefined
add_definitions (-D__BSD_VISIBLE=1 -D_BSD_SOURCE=1) add_definitions (-D__BSD_VISIBLE=1 -D_BSD_SOURCE=1)
endif () endif ()
include (CheckFunctionExists)
set (CMAKE_REQUIRED_LIBRARIES ${Ncursesw_LIBRARIES})
CHECK_FUNCTION_EXISTS ("resizeterm" HAVE_RESIZETERM)
# -lm may or may not be a part of libc # -lm may or may not be a part of libc
foreach (extra m) foreach (extra m)
find_library (extra_lib_${extra} ${extra}) find_library (extra_lib_${extra} ${extra})

View File

@@ -110,7 +110,7 @@ enum
static void static void
update_curses_terminal_size (void) update_curses_terminal_size (void)
{ {
#if defined (HAVE_RESIZETERM) && defined (TIOCGWINSZ) #if defined HAVE_RESIZETERM && defined TIOCGWINSZ
struct winsize size; struct winsize size;
if (!ioctl (STDOUT_FILENO, TIOCGWINSZ, (char *) &size)) if (!ioctl (STDOUT_FILENO, TIOCGWINSZ, (char *) &size))
{ {