include_directories(.)

if(${CMAKE_BUILD_TYPE} MATCHES Debug)
    message(Debug)
    set(CMAKE_C_FLAGS_DEBUG "-g -Wall -coverage -O0")
    #add_definitions(-DHARKIO_LOG_INITIAL_LEVEL=harkio_Log_Debug)
    add_definitions(-DHARKIO_LOG_INITIAL_LEVEL=harkio_Log_Error)
else()
    message(Production)
    add_definitions(-DHARKIO_LOG_INITIAL_LEVEL=harkio_Log_Error)
endif()
set(CMAKE_C_FLAGS "-std=c99")

find_package(LibZip REQUIRED)
set(LIBS ${LIBS} ${LIBZIP_LIBRARIES})
set(INCD ${INCD} ${LIBZIP_INCLUDE_DIRS})
include_directories(${LIBZIP_INCLUDE_DIRS})

find_package(LibXml2 REQUIRED)
set(LIBS ${LIBS} ${LIBXML2_LIBRARIES})
string(REGEX REPLACE "/[^/]*$" "" TMP ${LIBXML2_LIBRARIES})
set(LIBD ${LIBD} ${TMP})
set(INCD ${INCD} ${LIBXML2_INCLUDE_DIR})
include_directories(${LIBXML2_INCLUDE_DIR})

if(LIBXML2_DEFINITIONS)
    add_definitions(${LIBXML2_DEFINITIONS})
endif()

link_libraries(m)


string(REPLACE ";" " -I" INCD "${INCD}")
string(REPLACE ";" " -L" LIBD "${LIBD}")


message(${LIBXML2_INCLUDE_DIR})
message("${libzip_INCLUDE_DIR}")
add_library(harkio3 SHARED
                    libharkio3_matrix.c
                    libharkio3_position.c
                    libharkio3_positions.c
                    libharkio3_neighbors.c
                    libharkio3_xml.c
                    libharkio3_transferfunction.c
                    libharkio3_conversion.c
                    libharkio3_log.c
                    libharkio3_config.c)
target_link_libraries(harkio3 ${LIBS})

configure_file(libharkio3.pc.in libharkio3.pc)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libharkio3.pc DESTINATION lib/pkgconfig)
install(TARGETS harkio3
        ARCHIVE DESTINATION lib
        LIBRARY DESTINATION lib)
install(FILES libharkio3.h DESTINATION include)
install(FILES libharkio3_macros.h DESTINATION include)
