PROJECT(Matrices)

cmake_minimum_required(VERSION 2.6)

FIND_PACKAGE(Boost COMPONENTS date_time filesystem regex system)

include_directories(
	${CMAKE_CURRENT_BINARY_DIR}
	${Boost_INCLUDE_DIR}
)

if(NOT Boost_FOUND)
	MESSAGE(FATAL_ERROR "Boost not found!")
endif(NOT Boost_FOUND)

if(UNIX)
    add_definitions(-DLINUX)
endif(UNIX)

if(WIN32)
	add_definitions(-DMATRICES_EXPORTS)
endif(WIN32)

set(io_SRC io/CCSConverter.cpp io/CCSMatrixReader.cpp io/CCSMatrixWriter.cpp
	io/CCSMultiFileReader.cpp io/CCSMultiFileWriter.cpp io/CRSMatrixReader.cpp
	io/CRSMatrixWriter.cpp io/MatrixReader.cpp io/MatrixWriter.cpp
	io/filesystem_error.cpp io/SuperMatrixWriter.cpp io/SuperMatrixReader.cpp
	io/SimMatrixReader.cpp io/SuperMatrixFilteredReader.cpp  io/GensimMatrixWriter.cpp
	io/GensimMatrixReader.cpp)

add_library (matrices SHARED Feature.cpp CCSMatrix.cpp CRSMatrix.cpp
	CompressedVector.cpp CompressedIntVector.cpp MemoryMatrix.cpp SuperMatrix.cpp
	measures.cpp SimMatrix.cpp supermatrixfilter.cpp SuperMatrixSplitter.cpp 
	utils.cpp logger.cpp
	${io_SRC} )


target_link_libraries(matrices ${Boost_LIBRARIES} ${LOG4CXX_LIBRARY})

add_executable(mtest Matrices.cpp)
target_link_libraries(mtest matrices)


install(
	DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
	DESTINATION include
	FILES_MATCHING PATTERN "*.h"
	PATTERN ".svn" EXCLUDE
	PATTERN "bin" EXCLUDE
	PATTERN "build" EXCLUDE
	PATTERN "CMake*" EXCLUDE
    PATTERN "debian" EXCLUDE
)


install(TARGETS matrices
	LIBRARY DESTINATION lib)

