if(POLICY CMP0042)
  cmake_policy(SET CMP0042 NEW) # CMake 3.0
endif(POLICY CMP0042)

project(libxmount_input_aff C)

if(NOT STATIC_AFF)
  include_directories(${LIBAFF_INCLUDE_DIRS})
  include_directories(${OPENSSL_INCLUDE_DIRS})
  set(LIBS ${LIBS} ${LIBAFF_LIBRARIES})
  set(LIBS ${LIBS} ${OPENSSL_LIBRARIES})
else(NOT STATIC_AFF)
  include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libaff/include)
  set(LIBS ${LIBS} ${CMAKE_CURRENT_SOURCE_DIR}/libaff/lib/.libs/libafflib.a)
  if(NOT APPLE)
    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
      # 64bit
      if(LINUX_DIST STREQUAL "debian7")
        set(LIBS ${LIBS} "/usr/lib/x86_64-linux-gnu/libcrypto.a")
        set(LIBS ${LIBS} "/usr/lib/x86_64-linux-gnu/libssl.a")
        set(LIBS ${LIBS} "/usr/lib/x86_64-linux-gnu/libexpat.a")
        set(LIBS ${LIBS} "/usr/lib/x86_64-linux-gnu/librt.a")
      endif(LINUX_DIST STREQUAL "debian7")
      if(LINUX_DIST STREQUAL "rhel7")
        set(LIBS ${LIBS} "/usr/lib64/libcrypto.a")
        set(LIBS ${LIBS} "/usr/lib64/libssl.a")
        set(LIBS ${LIBS} "/usr/lib64/libexpat.a")
        set(LIBS ${LIBS} "/usr/lib64/librt.a")
      endif(LINUX_DIST STREQUAL "rhel7")
    else(CMAKE_SIZEOF_VOID_P EQUAL 8)
      # 32bit
      if(LINUX_DIST STREQUAL "debian7")
        set(LIBS ${LIBS} "/usr/lib/i386-linux-gnu/libcrypto.a")
        set(LIBS ${LIBS} "/usr/lib/i386-linux-gnu/libssl.a")
        set(LIBS ${LIBS} "/usr/lib/i386-linux-gnu/libexpat.a")
        set(LIBS ${LIBS} "/usr/lib/i386-linux-gnu/librt.a")
      endif(LINUX_DIST STREQUAL "debian7")
      if(LINUX_DIST STREQUAL "rhel7")
        set(LIBS ${LIBS} "/usr/lib/libcrypto.a")
        set(LIBS ${LIBS} "/usr/lib/libssl.a")
        set(LIBS ${LIBS} "/usr/lib/libexpat.a")
        set(LIBS ${LIBS} "/usr/lib/librt.a")
      endif(LINUX_DIST STREQUAL "rhel7")
    endif(CMAKE_SIZEOF_VOID_P EQUAL 8)

    if(CMAKE_THREAD_LIBS_INIT)
      set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT})
    endif(CMAKE_THREAD_LIBS_INIT)

    set(LIBS ${LIBS} "-lstdc++ -lz -ldl -llzma")

    if(THREADS_HAVE_PTHREAD_ARG)
      target_compile_options(xmount_input_aff PUBLIC "-pthread")
    endif(THREADS_HAVE_PTHREAD_ARG)
  else(NOT APPLE)
    # As most of afflib's deps on OSx come from MacPorts, better link in
    # everything statically
    set(LIBS ${LIBS} "/opt/local/lib/libcrypto.a")
    set(LIBS ${LIBS} "/opt/local/lib/libssl.a")
    set(LIBS ${LIBS} "/opt/local/lib/libexpat.a")
    set(LIBS ${LIBS} "/opt/local/lib/libncurses.a")
    set(LIBS ${LIBS} "/opt/local/lib/libreadline.a")
    set(LIBS ${LIBS} "/opt/local/lib/libz.a")
    #set(LIBS ${LIBS} "/opt/local/lib/liblzma.a")
    set(LIBS ${LIBS} "-lstdc++")
  endif(NOT APPLE)
endif(NOT STATIC_AFF)

add_library(xmount_input_aff SHARED libxmount_input_aff.c)

target_link_libraries(xmount_input_aff ${LIBS})

install(TARGETS xmount_input_aff DESTINATION lib/xmount)
