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 (NCamOperatingSystem MATCHES "Mac OS X" AND NOT HAVE_LIBUSB AND HAVE_PCSC) set (mac_usbpcsc "ifd_smartreader*") elseif(NCamOperatingSystem MATCHES "Mac OS X" AND NOT HAVE_LIBUSB AND NOT HAVE_PCSC) set (mac_usbpcsc "ifd_smartreader*" "ifd_pcsc*") elseif (NCamOperatingSystem MATCHES "Mac OS X" AND HAVE_LIBUSB AND NOT HAVE_PCSC) set (mac_usbpcsc "ifd_pcsc*") endif(NCamOperatingSystem MATCHES "Mac OS X" AND NOT HAVE_LIBUSB AND HAVE_PCSC) if (NCamOperatingSystem MATCHES "Mac OS X") file (GLOB csctapi_mac "ifd_azbox*" "ifd_cool*" "ifd_stapi*" ${mac_usbpcsc}) file (GLOB csctapi_srcs "*.c" "../cardlist.c") list(REMOVE_ITEM csctapi_srcs ${csctapi_mac}) file (GLOB csctapi_hdrs "*.h") list(REMOVE_ITEM csctapi_hdrs ${csctapi_mac}) else (NCamOperatingSystem MATCHES "Mac OS X") file (GLOB csctapi_srcs "*.c" "../cardlist.c") file (GLOB csctapi_hdrs "*.h") endif (NCamOperatingSystem MATCHES "Mac OS X") if (NOT NCamOperatingSystem 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 NCamOperatingSystem MATCHES "Mac OS X") set (HAVE_LIBRT True) endif (NOT NCamOperatingSystem 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})