# Copyright (C) 2007-2009 LuaDist. # Created by Peter Kapec # Redistribution and use of this file is allowed according to the terms of the MIT license. # For details see the COPYRIGHT file distributed with LuaDist. # Please note that the package source code is licensed under its own license. PROJECT(gslshell C) # CMake configuration: CMAKE_MINIMUM_REQUIRED(VERSION 2.6) # Where to install module parts: SET (INSTALL_BIN bin CACHE PATH "Where to install binaries to.") SET (INSTALL_DOC doc CACHE PATH "Recommended directory to install documentation into.") SET (INSTALL_CMOD share/lua/cmod CACHE PATH "Directory to install Lua binary modules.") SET (INSTALL_LMOD share/lua/lmod CACHE PATH "Directory to install Lua modules.") SET (INSTALL_DATA . CACHE PATH "Directory the package can store documentation, tests or other data in.") SET (INSTALL_EXAMPLE ${INSTALL_DATA}/example CACHE PATH "Recommended directory to install examples into.") SET (INSTALL_TEST ${INSTALL_DATA}/test CACHE PATH "Recommended directory to install tests into.") # Find Lua FIND_PACKAGE (Lua51 REQUIRED) INCLUDE_DIRECTORIES( ${LUA_INCLUDE_DIR}) ADD_DEFINITIONS(--std=c99) #~2DO - msvc? # Library SET(LUAGSL_SRCS math-types.c matrix.c cmatrix.c nlinfit_helper.c fdfsolver.c nlinfit.c cnlinfit.c lua-utils.c linalg.c integ.c ode_solver.c ode.c code.c fft.c lua-gsl.c ) # Find gsl FIND_LIBRARY ( GSL_LIBRARY NAMES gsl) FIND_LIBRARY ( GSLCBLAS_LIBRARY NAMES gslcblas) ADD_LIBRARY(lua-gsl MODULE ${LUAGSL_SRCS}) SET_TARGET_PROPERTIES(lua-gsl PROPERTIES PREFIX "") TARGET_LINK_LIBRARIES(lua-gsl ${LUA_LIBRARY} ${GSL_LIBRARY} ${GSLCBLAS_LIBRARY}) SET_TARGET_PROPERTIES(lua-gsl PROPERTIES COMPILE_DEFINITIONS USE_SEPARATE_NAMESPACE) ADD_EXECUTABLE(gsl-shell gsl-shell.c ${LUAGSL_SRCS}) TARGET_LINK_LIBRARIES(gsl-shell ${LUA_LIBRARY} ${GSL_LIBRARY} ${GSLCBLAS_LIBRARY}) INSTALL (TARGETS lua-gsl DESTINATION ${INSTALL_CMOD}) INSTALL (FILES igsl.lua DESTINATION ${INSTALL_LMOD}) INSTALL (TARGETS gsl-shell RUNTIME DESTINATION ${INSTALL_BIN}) INSTALL (FILES tests/ex-linalg.lua tests/mexp.lua tests/ode-test.lua tests/matrix-op.lua tests/nlinfit-test.lua DESTINATION ${INSTALL_TEST}) INSTALL (FILES INSTALL LICENSE README DESTINATION ${INSTALL_DATA}) INSTALL (FILES doc/source/acknowledgments.txt doc/source/conf.py doc/source/fft.txt doc/source/index.txt doc/source/integ.txt doc/source/intro.txt doc/source/linalg.txt doc/source/nlinfit.txt doc/source/ode.txt doc/source/matrices.txt DESTINATION ${INSTALL_DOC}) INSTALL (FILES examples/legendre-pol.lua examples/nlinfit.lua examples/ode-example.lua DESTINATION ${INSTALL_EXAMPLE})