Skip to content

Commit

Permalink
added cmake files
Browse files Browse the repository at this point in the history
  • Loading branch information
steffennissen committed Jan 22, 2012
1 parent 65d9c34 commit 07d070c
Show file tree
Hide file tree
Showing 4 changed files with 199 additions and 0 deletions.
29 changes: 29 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
PROJECT (FANN)
#SET(CMAKE_VERBOSE_MAKEFILE ON)
cmake_minimum_required(VERSION 2.4)


SET(CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/cmake/Modules
)

SET(VERSION 2.1.99)

INCLUDE(DefineInstallationPaths)



configure_file( ${CMAKE_SOURCE_DIR}/cmake/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/include/config.h )
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/src/include/)

configure_file( ${CMAKE_SOURCE_DIR}/cmake/fann.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/fann.pc @ONLY )

SET(PKGCONFIG_INSTALL_DIR /lib/pkgconfig)

########### install files ###############

INSTALL_FILES( ${PKGCONFIG_INSTALL_DIR} FILES fann.pc )


ADD_SUBDIRECTORY( src )

152 changes: 152 additions & 0 deletions cmake/Modules/DefineInstallationPaths.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
if (UNIX)
if (APPLE)
SET(BUNDLE_NAME ${APPLICATION_NAME})
SET(BUNDLE_DIR ${BUNDLE_NAME}.app)
SET(RESOURCE_DIR ${BUNDLE_DIR}/Contents/Resources)
SET(FRAMEWORK_DIR ${BUNDLE_DIR}/Contents/Frameworks)

set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})

SET(PHAPI_PLUGIN_INSTALL_DIR ${FRAMEWORK_DIR}/phapi-plugins
CACHE PATH "PhApi plugin installation path")
SET(DATA_INSTALL_DIR ${RESOURCE_DIR}
CACHE PATH "Data installation path")
else (APPLE)
IF (NOT APPLICATION_NAME)
MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME")
SET(APPLICATION_NAME ${PROJECT_NAME})
ENDIF (NOT APPLICATION_NAME)

# Suffix for Linux
SET(LIB_SUFFIX
CACHE STRING "Define suffix of directory name (32/64)"
)

SET(EXEC_INSTALL_PREFIX
"${CMAKE_INSTALL_PREFIX}"
CACHE PATH "Base directory for executables and libraries"
FORCE
)

SET(SHARE_INSTALL_PREFIX
"${CMAKE_INSTALL_PREFIX}/share"
CACHE PATH "Base directory for files which go to share/"
FORCE
)

SET(DATA_INSTALL_PREFIX
"${SHARE_INSTALL_PREFIX}/${APPLICATION_NAME}"
CACHE PATH "The parent directory where applications can install their data" FORCE
)

# The following are directories where stuff will be installed to
SET(BIN_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/bin"
CACHE PATH "The ${APPLICATION_NAME} binary install dir (default prefix/bin)"
FORCE
)

SET(SBIN_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/sbin"
CACHE PATH "The ${APPLICATION_NAME} sbin install dir (default prefix/sbin)"
FORCE
)

SET(LIB_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"
CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/lib)"
FORCE
)

SET(LIBEXEC_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/libexec"
CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/libexec)"
FORCE
)

SET(PLUGIN_INSTALL_DIR
"${LIB_INSTALL_DIR}/${APPLICATION_NAME}"
CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is prefix/lib/${APPLICATION_NAME})"
FORCE
)

SET(INCLUDE_INSTALL_DIR
"${CMAKE_INSTALL_PREFIX}/include"
CACHE PATH "The subdirectory to the header prefix (default prefix/include)"
FORCE
)

SET(DATA_INSTALL_DIR
"${DATA_INSTALL_PREFIX}"
CACHE PATH "The parent directory where applications can install their data (default prefix/share/${APPLICATION_NAME})"
FORCE
)

SET(HTML_INSTALL_DIR
"${DATA_INSTALL_PREFIX}/doc/HTML"
CACHE PATH "The HTML install dir for documentation (default data/doc/html)"
FORCE
)

SET(ICON_INSTALL_DIR
"${DATA_INSTALL_PREFIX}/icons"
CACHE PATH "The icon install dir (default data/icons/)"
FORCE
)

SET(SOUND_INSTALL_DIR
"${DATA_INSTALL_PREFIX}/sounds"
CACHE PATH "The install dir for sound files (default data/sounds)"
FORCE
)

SET(LOCALE_INSTALL_DIR
"${SHARE_INSTALL_PREFIX}/locale"
CACHE PATH "The install dir for translations (default prefix/share/locale)"
FORCE
)

SET(XDG_APPS_DIR
"${SHARE_INSTALL_PREFIX}/applications/"
CACHE PATH "The XDG apps dir"
FORCE
)

SET(XDG_DIRECTORY_DIR
"${SHARE_INSTALL_PREFIX}/desktop-directories"
CACHE PATH "The XDG directory"
FORCE
)

SET(SYSCONF_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/etc"
CACHE PATH "The ${APPLICATION_NAME} sysconfig install dir (default prefix/etc)"
FORCE
)

SET(MAN_INSTALL_DIR
"${SHARE_INSTALL_PREFIX}/man"
CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)"
FORCE
)

SET(INFO_INSTALL_DIR
"${SHARE_INSTALL_PREFIX}/info"
CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)"
FORCE
)
endif (APPLE)
endif (UNIX)

if (WIN32)
# Same same
SET(BIN_INSTALL_DIR .)
SET(SBIN_INSTALL_DIR .)
SET(LIB_INSTALL_DIR .)
SET(PLUGIN_INSTALL_DIR plugins)
SET(HTML_INSTALL_DIR doc/HTML)
SET(ICON_INSTALL_DIR .)
SET(SOUND_INSTALL_DIR .)
SET(LOCALE_INSTALL_DIR lang)
endif (WIN32)

8 changes: 8 additions & 0 deletions cmake/config.h.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/* Name of package */
#cmakedefine PACKAGE "@PACKAGE@"

/* Version number of package */
#cmakedefine VERSION "@VERSION@"

/* Define for the x86_64 CPU famyly */
#cmakedefine X86_64 "@X86_64@"
10 changes: 10 additions & 0 deletions cmake/fann.pc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@BIN_INSTALL_DIR@
libdir=@LIB_INSTALL_DIR@
includedir=@INCLUDE_INSTALL_DIR@

Name: fann
Description: Fast Artificial Neural Network Library
Version: @VERSION@
Libs: -L${libdir} -lm -lfann
Cflags: -I${includedir}

0 comments on commit 07d070c

Please sign in to comment.