PROJECT(LIBSHRED)

ADD_DEFINITIONS(-O2 -g)

SET( LIBSHRED_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_BINARY_DIR})
SET_PROPERTY( GLOBAL PROPERTY LIBSHRED_INCLUDES ${LIBSHRED_INCLUDES} )

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/tools)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/tests)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})


IF(WIN32)
        ADD_DEFINITIONS(-DWIN32)
ELSEIF(APPLE)
        ADD_DEFINITIONS(-DAPPLE)
ELSEIF(UNIX)
        ADD_DEFINITIONS(-DLINUX)
ENDIF(WIN32)


##############################################
#   LIBRARY
##############################################

SET(SRCS
src/Array.c
src/CliParser.c
src/Console.c
src/FileSystem.c
src/Hash.c
src/INIFile.c
src/IPHelpers.c
src/Log.c
src/MathTools.c
src/NetHelpers.c
src/ProcessTools.c
src/Random.c
src/Strings.c
src/System.c
src/Threads.c
src/TimeTools.c
src/TLV.c
src/Sort.c
src/Dictionary.c
)
#
#
# if debug, copy .in to .h
MESSAGE(STATUS "Creating dummy Debug.h")
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libshred)
FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/libshred/Debug.h" "")


#
ADD_LIBRARY(libshred SHARED ${SRCS})
IF(APPLE)
  TARGET_LINK_LIBRARIES( libshred pthread m )
ELSEIF(UNIX)
  TARGET_LINK_LIBRARIES( libshred pthread m rt)
ENDIF(APPLE)
##############################################
#   Tools
##############################################
SET(TOOLS
        system_error
        system_info
        hash
        dns
        b64
        mkfile
        ipconfig
        netping
        #telnetd
        timestamp
        benchmark
)
FOREACH(i ${TOOLS})
        ADD_EXECUTABLE( ${i} tools/${i}.c)
        TARGET_LINK_LIBRARIES( ${i} libshred )
ENDFOREACH(i ${TOOLS})
