IF (NO_EXAMPLES)
  MESSAGE("Usage examples:     don't compile")
ELSE (NO_EXAMPLES)
  MESSAGE("Usage examples:     compile")

  ADD_SUBDIRECTORY (xml)
  ADD_SUBDIRECTORY (database)

  INCLUDE_DIRECTORIES (${SPTK_SOURCE_DIR})
  INCLUDE_DIRECTORIES (${FLTK_INCLUDE_DIR})
  INCLUDE_DIRECTORIES (/usr/local/include /usr/include/pgsql /usr/include/pgsql/libpq)

  LINK_DIRECTORIES (${SPTK_BINARY_DIR})
  LINK_DIRECTORIES (${FLTK_LIB_DIR})

  LINK_LIBRARIES (sputil3 ${SOCKET_LIBRARY} pthread)

  SET (CONSOLE_TESTS datetime client_test server_test exceptions logfile_test thread_onexit
            thread_rwlock thread_test syslog_test unique_instance registry
  )

  FOREACH (CONSOLE_TEST ${CONSOLE_TESTS})

    ADD_EXECUTABLE (${CONSOLE_TEST} ${CONSOLE_TEST}.cpp)

    TARGET_LINK_LIBRARIES (${CONSOLE_TEST} sputil3)

    IF (WIN32)
      SET_TARGET_PROPERTIES (${CONSOLE_TEST} PROPERTIES LINK_FLAGS "-mconsole -mno-cygwin")
    ENDIF (WIN32)

  ENDFOREACH (CONSOLE_TEST)

  INSTALL(TARGETS ${CONSOLE_TESTS}
    RUNTIME DESTINATION share/sptk/bin
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib
  )

  ################## Excel tests ###################################
  IF (NOT NO_EXCEL)

    SET (EXCEL_TESTS xls_read xls_write excel_test)

    FOREACH (EXCEL_TEST ${EXCEL_TESTS})

      ADD_EXECUTABLE (${EXCEL_TEST} ${EXCEL_TEST}.cpp)

      TARGET_LINK_LIBRARIES (${EXCEL_TEST} spxl3 sputil3 spdb3)

      IF (WIN32)
        SET_TARGET_PROPERTIES (${EXCEL_TEST} PROPERTIES LINK_FLAGS "-mconsole -mno-cygwin")
      ENDIF (WIN32)

    ENDFOREACH (EXCEL_TEST)

    INSTALL(TARGETS ${EXCEL_TESTS}
      RUNTIME DESTINATION share/sptk/bin
      LIBRARY DESTINATION lib
      ARCHIVE DESTINATION lib
    )

  ENDIF (NOT NO_EXCEL)

  ################## GUI tests ####################################
  IF (FLTK_FLAG)


    IF (ODBC_FLAG)
      LINK_LIBRARIES (spdb3_odbc)
    ENDIF (ODBC_FLAG)

    IF (MYSQL_FLAG)
      LINK_LIBRARIES (spdb3_mysql)
    ENDIF (MYSQL_FLAG)

    IF (POSTGRESQL_FLAG)
      LINK_LIBRARIES (spdb3_postgres)
    ENDIF (POSTGRESQL_FLAG)

    IF (SQLITE3_FLAG)
      LINK_LIBRARIES (spdb3_sqlite3)
    ENDIF (SQLITE3_FLAG)

    LINK_LIBRARIES (sputil3 sptk3 spdb3 ${SOCKET_LIBRARY} ${FLTK_LIBRARIES} ${ASPELL_LIBRARIES} pthread)

    SET (GUI_TESTS calendar_test ceditor_test cgroup_test check_buttons
                  combo_test cscroll_test
                  dialog_test font_combo shaped_window spell_checker splitter sptk_test
                  tabs_test themes_test tree_test tree_view
                  )

    IF (ODBC_FLAG)
      SET (GUI_TESTS ${GUI_TEST} db_list_view)
    ENDIF (ODBC_FLAG)


    FOREACH (GUI_TEST ${GUI_TESTS})
      ADD_EXECUTABLE (${GUI_TEST} ${GUI_TEST}.cpp)
      IF (WIN32)
        SET_TARGET_PROPERTIES (${GUI_TEST} PROPERTIES LINK_FLAGS "-mwindows -mno-cygwin")
      ENDIF (WIN32)
      #TARGET_LINK_LIBRARIES (${GUI_TEST} ${GUI_LIBRARIES})
    ENDFOREACH (GUI_TEST)

    INSTALL(TARGETS ${GUI_TESTS}
      RUNTIME DESTINATION share/sptk/bin
      LIBRARY DESTINATION lib
      ARCHIVE DESTINATION lib
    )

    ADD_SUBDIRECTORY (datasources)
    ADD_SUBDIRECTORY (dialogs)

  ENDIF (FLTK_FLAG)

  ADD_SUBDIRECTORY (net)

ENDIF (NO_EXAMPLES)
