# declare additional include directories
INCLUDE_DIRECTORIES(${dcmtls_SOURCE_DIR}/include)
IF(WITH_LIBXML)
  INCLUDE_DIRECTORIES(${WITH_LIBXMLINC}/include)
ENDIF(WITH_LIBXML)

# declare directories containing used libraries
LINK_DIRECTORIES(${dcmpstat_BINARY_DIR} ${ofstd_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmtls_BINARY_DIR} ${dcmnet_BINARY_DIR} ${imagectn_BINARY_DIR} ${dcmimgle_BINARY_DIR} ${dcmsr_BINARY_DIR} ${dcmsign_BINARY_DIR})
IF(WITH_ZLIB)
  LINK_DIRECTORIES(${WITH_ZLIBINC}/lib)
ENDIF(WITH_ZLIB)
IF(WITH_LIBXML)
  LINK_DIRECTORIES(${WITH_LIBXMLINC}/lib)
ENDIF(WITH_LIBXML)
IF(WITH_OPENSSL)
  LINK_DIRECTORIES(${WITH_OPENSSLINC}/lib)
ENDIF(WITH_OPENSSL)

# declare executables
ADD_EXECUTABLE(dcmmkcrv dcmmkcrv)
ADD_EXECUTABLE(dcmmklut dcmmklut)
ADD_EXECUTABLE(dcmp2pgm dcmp2pgm)
ADD_EXECUTABLE(dcmprscp dcmprscp)
ADD_EXECUTABLE(dcmprscu dcmprscu)
ADD_EXECUTABLE(dcmpschk dcmpschk vrscan)
ADD_EXECUTABLE(dcmpsmk dcmpsmk)
ADD_EXECUTABLE(dcmpsprt dcmpsprt)
ADD_EXECUTABLE(dcmpsrcv dcmpsrcv)
ADD_EXECUTABLE(dcmpssnd dcmpssnd)

# make sure executables are linked to the corresponding libraries
# dcmmkcrv
IF(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmmkcrv netapi32 wsock32 ofstd dcmdata dcmnet imagedb dcmimgle dcmpstat debug zlib_d optimized zlib_o)
ELSE(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmmkcrv netapi32 wsock32 ofstd dcmdata dcmnet imagedb dcmimgle dcmpstat)
ENDIF(WITH_ZLIB)
# dcmmklut
IF(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmmklut netapi32 wsock32 ofstd dcmdata dcmnet imagedb dcmimgle dcmpstat dcmsr debug zlib_d optimized zlib_o)
ELSE(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmmklut netapi32 wsock32 ofstd dcmdata dcmnet imagedb dcmimgle dcmpstat dcmsr)
ENDIF(WITH_ZLIB)
# dcmp2pgm
IF(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ELSE(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmp2pgm netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ENDIF(WITH_ZLIB)
# dcmprscp
IF(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ELSE(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ENDIF(WITH_ZLIB)
# dcmprscu
IF(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ELSE(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmprscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ENDIF(WITH_ZLIB)
# dcmpschk
IF(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmpschk netapi32 wsock32 ofstd dcmdata dcmimgle dcmpstat dcmsr debug zlib_d optimized zlib_o)
ELSE(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmpschk netapi32 wsock32 ofstd dcmdata dcmimgle dcmpstat dcmsr)
ENDIF(WITH_ZLIB)
# dcmpsmk
IF(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmpsmk netapi32 wsock32 ofstd dcmdata dcmnet imagedb dcmimgle dcmpstat dcmsr debug zlib_d optimized zlib_o)
ELSE(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(dcmpsmk netapi32 wsock32 ofstd dcmdata dcmnet imagedb dcmimgle dcmpstat dcmsr)
ENDIF(WITH_ZLIB)
# dcmpsprt
IF(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ELSE(WITH_ZLIB)
  IF(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o)
    ENDIF(WITH_OPENSSL)
  ELSE(WITH_LIBXML)
    IF(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
    ELSE(WITH_OPENSSL)
      TARGET_LINK_LIBRARIES(dcmpsprt netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig)
    ENDIF(WITH_OPENSSL)
  ENDIF(WITH_LIBXML)
ENDIF(WITH_ZLIB)
# dcmpsrcv
IF(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpsrcv netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpsrcv netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o)
  ENDIF(WITH_OPENSSL)
ELSE(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpsrcv netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpsrcv netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig)
  ENDIF(WITH_OPENSSL)
ENDIF(WITH_ZLIB)
# dcmpssnd
IF(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpssnd netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpssnd netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug zlib_d optimized zlib_o)
  ENDIF(WITH_OPENSSL)
ELSE(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpssnd netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig debug ssleay32_d optimized ssleay32_o debug libeay32_d optimized libeay32_o)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(dcmpssnd netapi32 wsock32 ofstd dcmdata dcmtls dcmnet imagedb dcmimgle dcmpstat dcmsr dcmdsig)
  ENDIF(WITH_OPENSSL)
ENDIF(WITH_ZLIB)
