# declare additional include directories
INCLUDE_DIRECTORIES(${dcmtls_SOURCE_DIR}/include)
IF(WITH_OPENSSL)
  INCLUDE_DIRECTORIES(${WITH_OPENSSLINC}/include)
ENDIF(WITH_OPENSSL)

# declare directories containing used libraries
LINK_DIRECTORIES(${dcmnet_BINARY_DIR} ${ofstd_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmtls_BINARY_DIR})
IF(WITH_ZLIB)
  LINK_DIRECTORIES(${WITH_ZLIBINC}/lib)
ENDIF(WITH_ZLIB)
IF(WITH_OPENSSL)
  LINK_DIRECTORIES(${WITH_OPENSSLINC}/lib)
ENDIF(WITH_OPENSSL)

# declare executables
ADD_EXECUTABLE(echoscu echoscu)
ADD_EXECUTABLE(findscu findscu)
ADD_EXECUTABLE(movescu movescu)
ADD_EXECUTABLE(storescp storescp)
ADD_EXECUTABLE(storescu storescu)

# make sure executables are linked to the corresponding libraries
# echoscu
IF(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(echoscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(echoscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o)
  ENDIF(WITH_OPENSSL)
ELSE(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(echoscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(echoscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet)
  ENDIF(WITH_OPENSSL)
ENDIF(WITH_ZLIB)
# findscu
IF(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(findscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(findscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o)
  ENDIF(WITH_OPENSSL)
ELSE(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(findscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(findscu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet)
  ENDIF(WITH_OPENSSL)
ENDIF(WITH_ZLIB)
# movescu
IF(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(movescu netapi32 wsock32 ofstd dcmdata dcmnet debug zlib_d optimized zlib_o)
ELSE(WITH_ZLIB)
  TARGET_LINK_LIBRARIES(movescu netapi32 wsock32 ofstd dcmdata dcmnet)
ENDIF(WITH_ZLIB)
# storescp
IF(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o)
  ENDIF(WITH_OPENSSL)
ELSE(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescp netapi32 wsock32 ofstd dcmdata dcmtls dcmnet)
  ENDIF(WITH_OPENSSL)
ENDIF(WITH_ZLIB)
# storescu
IF(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug zlib_d optimized zlib_o)
  ENDIF(WITH_OPENSSL)
ELSE(WITH_ZLIB)
  IF(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet debug ssleay32_d.lib optimized ssleay32_o.lib debug libeay32_d.lib optimized libeay32_o.lib)
  ELSE(WITH_OPENSSL)
    TARGET_LINK_LIBRARIES(storescu netapi32 wsock32 ofstd dcmdata dcmtls dcmnet)
  ENDIF(WITH_OPENSSL)
ENDIF(WITH_ZLIB)
