Skip to content

Commit

Permalink
add support to build with CMake (a meta build system)
Browse files Browse the repository at this point in the history
use like this:

	mkdir -p build
	cd build
	cmake ..
	# or
    	#cmake -DCMAKE_INSTALL_PREFIX=/usr ..
	make
  • Loading branch information
hoijui committed Oct 19, 2017
1 parent 38647dd commit 9fffb25
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/build
config.h
Makefile
stamp-h
Expand Down
9 changes: 8 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,14 @@ sudo: required

compiler: gcc

env:
- CONFIGURE_CMD=configure
- CONFIGURE_CMD=cmake

script:
- ./configure
- mkdir -p build
- cd build
- if [[ $CONFIGURE_CMD == 'configure' ]]; then export CC=${CC} && ../configure ; fi
- if [[ $CONFIGURE_CMD == 'cmake' ]]; then cmake -DCMAKE_C_COMPILER="${CC}" .. ; fi
- make

58 changes: 58 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# CMake build system for CMatrix

cmake_minimum_required(VERSION 2.8)

project(CMatrix LANGUAGES C)
set(VERSION "1.2")

# These are relative to CMAKE_INSTALL_PREFIX
# which by default is "/usr/local"
set(CONSOLE_FONTS_DIRS "share/consolefonts" "lib/kbd/consolefonts")
set(X_FONTS_DIRS "lib/X11/fonts/misc" "X11R6/lib/X11/fonts/misc" "share/fonts/X11/misc")

set(MKFONTDIR "/usr/bin/mkfontdir")

add_definitions(-DEXCLUDE_CONFIG_H)
add_definitions(-DVERSION="${VERSION}")
add_definitions(-DHAVE_SYS_IOCTL_H)
add_definitions(-DHAVE_UNISTD_H)
add_definitions(-DHAVE_TERMIOS_H)
add_definitions(-DHAVE_TERMIO_H)

Set(CURSES_NEED_NCURSES TRUE)
find_package(Curses)
include_directories(${CURSES_INCLUDE_DIR})
add_definitions(-DHAVE_NCURSES_H)

add_executable(cmatrix cmatrix.c)

target_link_libraries(cmatrix ${CURSES_LIBRARIES})

install(TARGETS cmatrix DESTINATION bin)

if (UNIX)
foreach (CONSOLE_FONTS_DIR ${CONSOLE_FONTS_DIRS})
if (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${CONSOLE_FONTS_DIR}")
message(STATUS "Installing matrix console fonts to ${CMAKE_INSTALL_PREFIX}/${CONSOLE_FONTS_DIR}")
install(FILES
"${CMAKE_SOURCE_DIR}/matrix.fnt"
"${CMAKE_SOURCE_DIR}/matrix.psf.gz"
DESTINATION "${CONSOLE_FONTS_DIR}")
endif ()
endforeach ()
foreach (X_FONTS_DIR ${X_FONTS_DIRS})
if (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${X_FONTS_DIR}")
message(STATUS "Installing matrix X window fonts to ${CMAKE_INSTALL_PREFIX}/${X_FONTS_DIR}")
install(FILES
"${CMAKE_SOURCE_DIR}/mtx.pcf"
DESTINATION "${X_FONTS_DIR}")
install(CODE
"message(STATUS \"Running mkfontdir ${CMAKE_INSTALL_PREFIX}/${X_FONTS_DIR} ...\")")
install(CODE
"execute_process(COMMAND \"${MKFONTDIR}\" \"${CMAKE_INSTALL_PREFIX}/${X_FONTS_DIR}\")")
install(CODE
"message(STATUS \"If this is the first time you have installed CMatrix you will probably have to restart X window in order to use the mtx.pcf font.\")")
endif ()
endforeach ()
endif ()

2 changes: 2 additions & 0 deletions cmatrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
#include <termios.h>
#include <signal.h>

#ifndef EXCLUDE_CONFIG_H
#include "config.h"
#endif

#ifdef HAVE_NCURSES_H
#include <ncurses.h>
Expand Down

0 comments on commit 9fffb25

Please sign in to comment.