project (csctapi)
if (CMAKE_COMPILER_IS_GNUCC)
    execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
    string(REGEX MATCHALL "[0-9]+" GCC_VERSION_COMPONENTS ${GCC_VERSION})
    list(GET GCC_VERSION_COMPONENTS 0 GCC_MAJOR)
    list(GET GCC_VERSION_COMPONENTS 0 GCC_MINOR)
    add_definitions ("-W -Wall ")
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O2")
	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2")
    set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ggdb")
    set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb")
endif (CMAKE_COMPILER_IS_GNUCC)
# Mac extra removes to avoid ranlib warnings in some situations
if (OSCamOperatingSystem MATCHES "Mac OS X" AND NOT HAVE_LIBUSB AND HAVE_PCSC)
set (mac_usbpcsc "ifd_smartreader*")
elseif(OSCamOperatingSystem MATCHES "Mac OS X" AND NOT HAVE_LIBUSB AND NOT HAVE_PCSC)
set (mac_usbpcsc "ifd_smartreader*" "ifd_pcsc*")
elseif (OSCamOperatingSystem MATCHES "Mac OS X" AND HAVE_LIBUSB AND NOT HAVE_PCSC)
set (mac_usbpcsc "ifd_pcsc*")
endif(OSCamOperatingSystem MATCHES "Mac OS X" AND NOT HAVE_LIBUSB AND HAVE_PCSC)
if (OSCamOperatingSystem MATCHES "Mac OS X")
file (GLOB csctapi_mac "ifd_azbox*" "ifd_cool*" "ifd_stapi*" ${mac_usbpcsc})
file (GLOB csctapi_srcs "*.c")
list(REMOVE_ITEM csctapi_srcs ${csctapi_mac})
file (GLOB csctapi_hdrs "*.h")
list(REMOVE_ITEM csctapi_hdrs ${csctapi_mac})
else (OSCamOperatingSystem MATCHES "Mac OS X")
file (GLOB csctapi_srcs "*.c")
file (GLOB csctapi_hdrs "*.h")
endif (OSCamOperatingSystem MATCHES "Mac OS X")

if (NOT OSCamOperatingSystem MATCHES "Mac OS X")
   if (LIBRTDIR)
        check_include_file ("${LIBRTDIR}/include/time.h" HAVE_LIBRT_STATIC)
        if (HAVE_LIBRT_STATIC)
            if (EXISTS ${LIBRTDIR}/lib/librt.a)
                add_definitions ("-I${LIBRTDIR}/include/")
            else (EXISTS ${LIBRTDIR}/lib/librt.a)
                set (HAVE_LIBRT_STATIC False)
            endif (EXISTS ${LIBRTDIR}/lib/librt.a)
        elseif (HAVE_LIBRT_STATIC)
            set (HAVE_LIBRT_STATIC False)
        endif (HAVE_LIBRT_STATIC)
    else (LIBRTDIR)
        check_include_file ("time.h" HAVE_LIBRT)
        if (HAVE_LIBRT)
            set (HAVE_LIBRT True)
        else (HAVE_LIBRT)
            set (HAVE_LIBRT False)
        endif (HAVE_LIBRT)
    endif (LIBRTDIR)
else (NOT OSCamOperatingSystem MATCHES "Mac OS X")
    set (HAVE_LIBRT True)
endif (NOT OSCamOperatingSystem MATCHES "Mac OS X")

check_include_file ("libusb-1.0/libusb.h" HAVE_LIBUSB)
if (HAVE_LIBUSB AND HAVE_PTHREAD AND HAVE_LIBRT OR HAVE_LIBRT_STATIC)
    add_definitions ("-DWITH_LIBUSB=1")
endif (HAVE_LIBUSB AND HAVE_PTHREAD AND HAVE_LIBRT OR HAVE_LIBRT_STATIC)

set (lib_name "csctapi")
add_library (${lib_name} STATIC ${csctapi_srcs} ${csctapi_hdrs})

