Commit Graph

334 Commits (602531ff33c7ecbebe5cac958dd64c18e0eb2b83)

Author SHA1 Message Date
nick black be4a9154a8
v2.2.1 3 years ago
nick black 3cdf7160de
v2.2.0 3 years ago
nick black 38e9051888
move tests to src/tests 3 years ago
nick black 54ca2249df
v2.1.8 3 years ago
nick black b8596a1b43
don't install INSTALL.md 4 years ago
nick black 66968cddab
write out NotcursesCoreConfigVersion.cmake 4 years ago
nick black e20fb4ac8f
install NotcursesCore cmake support files 4 years ago
nick black 7eafcfe598
rename notcurses-tetris -> nctetris 4 years ago
nick black 121f10a9c5
v2.1.7 4 years ago
nick black b4709bbb4e
tag libnotcurses.so with soversion 4 years ago
nick black 57271d09ce
v2.1.6 4 years ago
nick black 07ec5206cb
install notcurses-core.pc pkg-config support 4 years ago
nick black cde25b9431
ncneofetch: don't require multimedia 4 years ago
nick black 6bd288f056 Workable split of library
Rather than trying to force things in via library constructors
and weak symbols and --whole-archive and pkg-config tricks, just
add new functions ncdirect_core_init() and notcurses_core_init().
libnotcurses has ncdirect_init() and notcurses_init(), which pass
through to these. apps linking against notcurses-core ought use
the _core_ variants directly. This gets exactly the linkage we
want, everywhere. Convert many PoCs to _core_ variants. #1301

Signed-off-by: nick black <dankamongmen@gmail.com>
4 years ago
nick black 9cf2925f47
prepare NotcursesCoreConfig.cmake #1301 4 years ago
nick black bb3f9c1836
move c++ POCs into src/pocpp 4 years ago
nick black c1ea096d31
set CMAKE_LINK_WHAT_YOU_USE to ON #1300 4 years ago
nick black 05193af667
remove extraneous USE_MULTIMEDIA check #1300 4 years ago
nick black 1631818784
rename notcurses-view to ncplayer #1299 4 years ago
Nick Black 9112185657
Split up notcurses/notcurses-core (#1297)
Extract `libnotcurses-core` from `libnotcurses`. The former contains everything except multimedia code. The latter contains multimedia stuff (a wrapper around FFmpeg or OIIO). If built with `-DUSE_MULTIMEDIA=none`, there will not be any `libnotcurses.so` generated. `libnotcurses.so` uses library constructors/destructors to insert its implementation into the `ncvisual` stack at runtime. Users linking `-lnotcurses` will get the full implementation; users linking `-lnotcurses-core` only will get the stack less multimedia code.

The upshot of this is that someone can compile/install only `libnotcurses-core`, and a program linked against it will work just fine. This eliminates the need to install the full (large) dependency stack of the multimedia code unless necessary. This will hopefully be useful for e.g. installers etc. Closes #339.
4 years ago
nick black 3ecdde74d0
v2.1.5 4 years ago
nick black 09dcda0253
README: give DragonFly BSD some love #1121 4 years ago
nick black d4aef247ea
Fixes for DragonFly BSD from Weitian LI #1121 4 years ago
nick black 8283adc28f
Introduce src/compat/ for all bins
I've created the new files src/compat/compat.{hc}. These
are available to all binaries by adding src to the include
directories, and src/compat/compat.c to the sources. Several
functions are implemented here which one or more target
operating systems are missing, right now all related to time.
This includes clock_nanosleep(), which is missing on OS X and
DragonFly BSD. Eliminate the other three definitions of
timespec_to_ns() and friends. Standardize on NANOSECS_IN_SEC
rather than the more opaque GIG. Progress on #1121.
4 years ago
nick black 68b340e3c8
ncdirect: prep readline for use #1120 4 years ago
nick black e617acecc7
v2.1.4 4 years ago
nick black 70b74a749b
v2.1.3 4 years ago
nick black 55d563b646
v2.1.2 4 years ago
nick black d6d5757b1d
v2.1.1 4 years ago
nick black 6edafd1f84
v2.1.0 4 years ago
nick black 8497ee1877
v2.0.12 4 years ago
nick black eb485cda21
v2.0.11 4 years ago
nick black 361a253aea
v2.0.10 4 years ago
nick black cc5f9f0cb7
cmake: run notcurses-tester first among tests 4 years ago
nick black f3688f44fb
CMake: add demo target 4 years ago
nick black 8083b46e3b
v2.0.9 4 years ago
nick black de3944b114 ncls getopt skeleton #693 4 years ago
nick black c2671b6fef
data model: every plane gets an egcpool 4 years ago
nick black 3f9d87f5e6 include data model on web page 4 years ago
nick black 465a0ffbcb Improve handling of dot->graph documentation
Remove the pre-rendered model.png, a generated output. Add a
dot target to CMake, predicated on USE_DOXYGEN (since we have
REQUIRED dot in our Doxygen spec). Generate the png in the
output path. Rename stacks to piles in model.dot.
4 years ago
Marek Habersack 9135663529 [CMake] Restore old way of importing Notcurses into a cmake project
Partially reverts: c5c9432ac0
Context: https://github.com/dankamongmen/notcurses/pull/1146

The above commit implemented the much more convenient way of finding and
using a package from CMake, however it broke compatibility with the way
id had been before, which defined various `Notcurses_*` variables.

Revert the `Notcurses` component to the old way and add support for
`Notcurses++` in the same fashion.

Perhaps one day we should think of implementing `find_package` support
by way of a module, which should make it possible to have the cake and
eat the cake. One day.
4 years ago
Marek Habersack c5c9432ac0 [Misc] A hodgepodge of tiny changes
CMake:
  Simplify cmake target+version config generation and make it actually
  work.  With the changes it is now possible to detect and use
  `Notcurses` in the following way:

     find_package(Notcurses REQUIRED)
     ...
     target_link_libraries(myapp PRIVATE notcurses::notcurses)

  Also, added the same CMake configuration for `Notcurses++`, to be used
  in the following way:

     find_package(Notcurses REQUIRED
     find_package(Notcurses++ REQUIRED)
     ...
     target_link_libraries(myapp PRIVATE notcurses++::notcurses++)

Docs:
  `notcurses_cell(3)`: `cell_styles_{on,off} -> cell_{on,off}_styles`
  and `cell_load_simple` -> `cell_load_char`

C++ API:
  * Plane: added constructors taking `ncplane_options const&` instead of
    the multitude of individual parameters
  * Plane: drop `struct` when `ncplane_options` is used.
  * Plane: added `strdup` (`cell_strdup`)
  * Plane: added `extract` (`cell_extract`)
4 years ago
nick black 2a45620cd6
v2.0.8 4 years ago
nick black b7ea4e2359
run sgr-full and sgr-direct in test suite #1138 4 years ago
nick black 73b2f1bf19
v2.0.7 4 years ago
nick black acdcf9e41f
v2.0.6 4 years ago
nick black 537caa2173
v2.0.5 4 years ago
Nick Black 47cc9f9ecd
Initial easybook chapter (#1129)
* some mdbook #785

* more chapter 1
4 years ago
nick black 1328fc7cf8
drop -V argument from CTest 4 years ago
nick black 1051210679
pandoc: don't use smart extension 4 years ago