CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
PROJECT(libClassicalCrypto)

SET(CMAKE_VERBOSE_MAKEFILE ON)

ADD_DEFINITIONS(-D DEBUG -Wall -Wextra -g -O0)
#ADD_DEFINITIONS(-O3)

SET(libClassicalCrypto_sources
       CipherEngine.h
       CipherEngine.cpp
       CaesarEngine.h
       CaesarEngine.cpp
       InvalidKeyException.h
       InvalidKeyException.cpp
       HillEngine.h
       HillEngine.cpp
)

#build a shared library
ADD_LIBRARY(libClassicalCrypto SHARED ${libClassicalCrypto_sources})

SET(libClassicalCryptoTest_sources
       libClassicalCryptoTest.h
       libClassicalCryptoTest.cpp
)

#for testing the libClassicalCrypto
ADD_EXECUTABLE(libClassicalCryptoTest ${libClassicalCryptoTest_sources})

SET(libraries libClassicalCrypto libalgebra libgmp.so libgmpxx.so)

TARGET_LINK_LIBRARIES(libClassicalCryptoTest ${libraries})

INSTALL(TARGETS libClassicalCrypto LIBRARY DESTINATION /usr/lib)