Changeset - 4abce367d6f4
[Not reviewed]
2.0.4
0 2 0
Vitaly Takmazov - 8 years ago 2017-08-03 19:45:44
vitalyster@gmail.com
2.0.4
2 files changed with 5 insertions and 5 deletions:
0 comments (0 inline, 0 general)
CMakeLists.txt
Show inline comments
 
@@ -156,196 +156,196 @@ if(ENABLE_PURPLE)
 
#	if (GLIB2_INCLUDE_DIR AND GLIB2_LIBRARIES)
 
#		set(GLIB2_FOUND TRUE)
 
#	else()
 
		set(glib_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
		find_package(glib)
 
#	endif()
 
endif()
 

	
 
# FIND LIBXML2
 
# set(libxml2_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
# find_package(libxml2)
 

	
 
# FIND PROTOBUF
 
set(Protobuf_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
find_package(Protobuf REQUIRED)
 

	
 
if (NOT PROTOBUF_FOUND AND PROTOBUF_INCLUDE_DIR AND PROTOBUF_LIBRARY)
 
	set(PROTOBUF_FOUND 1)
 
	set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIR})
 
	if (PROTOBUF_PROTOC_EXECUTABLE)
 
	else()
 
		set(PROTOBUF_PROTOC_EXECUTABLE protoc)
 
	endif()
 
	message(STATUS "Using protobuf: ${PROTOBUF_INCLUDE_DIRS} ${PROTOBUF_LIBRARY}")
 
endif()
 

	
 
if (WIN32)
 
	add_definitions(-DSWIFTEN_STATIC=1)
 
	ADD_DEFINITIONS(-D_UNICODE)
 
	ADD_DEFINITIONS(-DUNICODE)
 
endif()
 

	
 

	
 
if (CMAKE_COMPILER_IS_GNUCXX)
 
set(openssl_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
find_package(openssl)
 
endif()
 

	
 
if(ENABLE_IRC)
 
	set(Communi_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
	find_package(Communi)
 

	
 
	INCLUDE(FindQt4)
 
	FIND_PACKAGE(Qt4 COMPONENTS QtCore QtNetwork)
 
	# ADD_DEFINITIONS(${SWIFTEN_CFLAGS})
 
	ADD_DEFINITIONS(-DSUPPORT_LEGACY_CAPS)
 
	# ADD_DEFINITIONS(-DBOOST_FILESYSTEM_VERSION=2)
 
endif()
 

	
 
set(event_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
find_package(event)
 

	
 

	
 
####### Miscallanous ######
 

	
 
if(ENABLE_DOCS)
 
	find_package(Doxygen)
 
endif()
 

	
 
# if(ENABLE_LOG)
 
	if(LOG4CXX_INCLUDE_DIR AND LOG4CXX_LIBRARY)
 
		set(LOG4CXX_LIBRARIES ${LOG4CXX_LIBRARY})
 
		set(LOG4CXX_FOUND 1)
 
		message(STATUS "Using log4cxx: ${CPPUNIT_INCLUDE_DIR} ${LOG4CXX_INCLUDE_DIR}")
 
	else()
 
		set(log4cxx_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
		find_package(log4cxx)
 
	endif()
 
# endif()
 

	
 
# FIND CPPUNIT
 
if(ENABLE_TESTS)
 
	set(cppunit_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
	find_package(cppunit)
 

	
 
	if(NOT CPPUNIT_FOUND AND CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARY)
 
		set(CCPUNIT_LIBRARIES ${CPPUNIT_LIBRARY})
 
		set(CPPUNIT_FOUND 1)
 
		message(STATUS "Using cppunit: ${CPPUNIT_INCLUDE_DIR} ${CPPUNIT_LIBRARIES}")
 
	endif()
 
endif()
 

	
 
message("  Supported features")
 
message("-----------------------")
 

	
 
if (SPECTRUM_VERSION)
 
	ADD_DEFINITIONS(-DSPECTRUM_VERSION="${SPECTRUM_VERSION}")
 
else (SPECTRUM_VERSION)
 
	if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
 
		if (NOT GIT_EXECUTABLE)
 
		set (GIT_EXECUTABLE git)
 
		endif()
 
		execute_process(COMMAND ${GIT_EXECUTABLE} "--git-dir=${CMAKE_CURRENT_SOURCE_DIR}/.git" rev-parse --short HEAD
 
						OUTPUT_VARIABLE GIT_REVISION
 
						OUTPUT_STRIP_TRAILING_WHITESPACE
 
		)
 
		set(SPECTRUM_VERSION 2.0.3-git-${GIT_REVISION})
 
		set(SPECTRUM_VERSION 2.0.4-git-${GIT_REVISION})
 
		ADD_DEFINITIONS(-DSPECTRUM_VERSION="${SPECTRUM_VERSION}")
 
	else (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
 
		set(SPECTRUM_VERSION 2.0.3)
 
		set(SPECTRUM_VERSION 2.0.4)
 
		ADD_DEFINITIONS(-DSPECTRUM_VERSION="${SPECTRUM_VERSION}")
 
	endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
 
endif (SPECTRUM_VERSION)
 

	
 
message("Version           : " ${SPECTRUM_VERSION})
 

	
 
if (SQLITE3_FOUND)
 
	ADD_DEFINITIONS(-DWITH_SQLITE)
 
if (WIN32)
 
	include_directories("${CMAKE_SOURCE_DIR}/msvc-deps/sqlite3")
 
	message("SQLite3           : bundled")
 
else (WIN32)
 
	include_directories(${SQLITE3_INCLUDE_DIR})
 
	message("SQLite3           : yes")
 
endif (WIN32)
 
else (SQLITE3_FOUND)
 
	set(SQLITE3_LIBRARIES "")
 
	if(ENABLE_SQLITE3)
 
		message("SQLite3           : no (install sqlite3)")
 
	else(ENABLE_SQLITE3)
 
		message("SQLite3           : no (user disabled)")
 
	endif()
 
endif (SQLITE3_FOUND)
 

	
 
if (MYSQL_FOUND)
 
	ADD_DEFINITIONS(-DWITH_MYSQL)
 
	include_directories(${MYSQL_INCLUDE_DIR})
 
	message("MySQL             : yes")
 
else (MYSQL_FOUND)
 
	set(MYSQL_LIBRARIES "")
 
	if(ENABLE_MYSQL)
 
		message("MySQL             : no (install mysql-devel)")
 
	else(ENABLE_MYSQL)
 
		message("MySQL             : no (user disabled)")
 
	endif()
 
endif (MYSQL_FOUND)
 

	
 
if (PQXX_FOUND)
 
	ADD_DEFINITIONS(-DWITH_PQXX)
 
	include_directories(${PQXX_INCLUDE_DIR})
 
	message("PostgreSQL        : yes")
 
else (PQXX_FOUND)
 
	set(PQXX_LIBRARY "")
 
	set(PQ_LIBRARY "")
 
	if(ENABLE_PQXX)
 
		message("PostgreSQL        : no (install libpqxx-devel)")
 
	else(ENABLE_PQXX)
 
		message("PostgreSQL        : no (user disabled)")
 
	endif()
 
endif (PQXX_FOUND)
 

	
 
if (PROTOBUF_FOUND)
 
	ADD_DEFINITIONS(-DWITH_PROTOBUF)
 
	include_directories(${PROTOBUF_INCLUDE_DIRS})
 
	message("Network plugins   : yes")
 

	
 
	if(PURPLE_FOUND)
 
		message("Libpurple plugin  : yes")
 
		include_directories(${PURPLE_INCLUDE_DIR})
 
		include_directories(${GLIB2_INCLUDE_DIR})
 
	else()
 
		if(ENABLE_PURPLE)
 
			message("Libpurple plugin  : no (install libpurple)")
 
		else(ENABLE_PURPLE)
 
			message("Libpurple plugin  : no (user disabled)")
 
		endif()
 
	endif()
 

	
 
	if (HAVE_EVENT)
 
		ADD_DEFINITIONS(-DWITH_LIBEVENT)
 
		include_directories(${EVENT_INCLUDE_DIRS})
 
		message("  libev eventloop : yes")
 
	else()
 
		if(ENABLE_PURPLE)
 
			message("  libev eventloop : no (install libev-devel)")
 
		endif()
 
	endif()
 

	
 
	if(IRC_FOUND)
 
		ADD_DEFINITIONS(-DIRC_SHARED)
 
		message("IRC plugin        : yes")
 
		include_directories(${QT_QTNETWORK_INCLUDE_DIR})
 
		include_directories(${IRC_INCLUDE_DIR})
 
		include(${QT_USE_FILE})
 
	else()
 
		if(ENABLE_IRC)
 
			message("IRC plugin        : no (install libCommuni and libprotobuf-dev)")
 
		else(ENABLE_IRC)
 
			message("IRC plugin        : no (user disabled)")
 
		endif()
 
	endif()
 
	if(ENABLE_TWITTER)
 
		message("Twitter plugin    : yes")
 
	else(ENABLE_TWITTER)
 
		message("Twitter plugin    : no (user disabled)")
 
	endif()
ChangeLog
Show inline comments
 
Version 2.0.4 (2017-08-xx):
 
Version 2.0.4 (2017-08-03):
 
	General:
 
	* Add support for Swiften 4.0rc2. Swiften 3.x and 2.x are still supported.
 
	* Add support for passwordless libpurple backends (e.g. purple-hangouts).
 
	* Partial support for groupchats with case-sensitive names.
 
	* Various small bugfixes, see Git commit descriptions for full list of changes.
 
	* Partial support for groupchats with case-sensitive names (e.g. purple-telegram).
 
	* Various small bugfixes, see Git commit descriptions for the full list of changes.
 
	
 
Version 2.0.3 (2016-02-29):
 
	General:
 
	* Swift 3.0rc2 is now minimum Swift 3.x version needed to compile Spectrum2,
 
	  Swith 2.x remains supported.
 
	* Rename user when he tries to connect to room from the second client
 
	  with different nickname than he used with the first client.
 
	* Send self presence as the first presence from the MUC room.
 
	* Send the icon hash to the backend with other buddies information.
 
	* Send unavailable presence as a response to presence for exiting
 
	  the room. Fixes room rejoin in Pidgin.
 
	* Fix memory leak in HTTPRequest - currently used only in Slack frontend.
 

	
 
	Slack frontend:
 
	* For IRC allow registering without providing account name/password.
 
	* Do not reconnect to Slack RTM when no URL is available after disconnect.
 
	* Handle "account_inactive" Slack error.
 

	
 
	Web interface:
 
	* Show warning when trying to register already registered username.
 
	* Allow registering with empty password for networks like IRC where
 
	  password is not needed.
 
	* Allow showing examples of username or server in registration form. This
 
	  is configured in config file.
 
	* Fix `service.base_location` setting for register.shtml page.
 

	
 
	Libpurple backend:
 
	* Make the conversation active according to chatstates notifications.
 
	  Should fix the issue with repeating messages with prpl-facebook.
 
	* When `service.web_directory` and `service.web_url` is set, images sent
 
	  in messages are stored to `service.web_directory` and link is forwarded
 
	  to the user. Tested only with prpl-facebook for now.
 
	* Treat empty password as fatal error - do no try to reconnect
 
	  automatically in that case.
 

	
 
	Libcommuni backend:
 
	* Latest libcommuni 3.4.0 is now needed.
 
	* Libcommuni backend has been improved to use the newest libcommuni
 
	  features.
 
	* Ports can now be set in `service.irc_server` option and in the JID. When
 
	  '+' character is used before the port number, SSL is used automatically.
 
	  When port 6697 is used, SSL is used automatically too.
 

	
 
	Swiften backend:
 
	* Respect the resource when connecting to 3rd-party XMPP network.
 

	
 
Version 2.0.2 (2016-02-09):
 
	General:
 
	* Fix joining the room when using JID Escaping even for '@' character.
 
	* Fix Raw XML mode - fixes the Swiften backend.
 
	* Allow backends to set avatars to buddies in room - currently no backend
 
	  uses it.
 
	* Set the room list per frontend user - this fixes possible information
 
	  for networks like Skype or Facebook where the room list is not global
 
	  per network.
 
	* Support usage of aliases in the rooms, so backends can use the
 
	  network-based UID for the buddies in the room while still setting
 
	  user-friendly aliases to them.
 
	* Fix leaving the room when user is connected to transport using two
 
	  clients, but only one of them joined the room and that one disconnects
 
	  the transport without leaving the room (For example when he just
 
	  quits the client).
 

	
 
	XMPP frontend:
 
	* Handle the XMPP VCard changes - updating avatar should work now for
 
	  backends supporting it.
 

	
 
	Slack frontend:
 
	* Slack frontend is now completely managed by the web interface, old
 
	  way of managing (".spectrum2 ..." commands sent to Spectrum 2 bot)
 
	  are not supported.
 
	* Slack channels are now created automatically on Slack when you join them
 
	  using web-interface. The same applies also to the Main channel.
 
	* Logging has been improved to show the name of Slack team for each log
 
	  line.
 

	
 
	Libpurple backend:
 
	* Forward the room topic to frontend.
 
	* Fix joining the rooms on networks when the nickname in the room cannot
 
	  be changed (Skype or Facebook). Libpurple backend changes your nickname
 
	  to the right one in that case.
 
	* Show the buddies aliases in the Facebook rooms instead of Facebook
 
	  buddies numbers.
 

	
 
	Twitter backend:
 
	* Fix compilation with newer gcc.
 

	
 
	Swiften backend:
 
	* Swiften backend works as before the frontends introduction.
 

	
 
	Skype backend:
 
	* The old skype backend has been removed. Use purple-skypeweb instead.
 

	
 
	Web interface:
 
	* Allow setting "port" and "base_location" in the config file.
 
	* Allow maintaining joined rooms in the Web interface for the Slack
0 comments (0 inline, 0 general)