Files @ ffef381eaa31
Branch filter:

Location: libtransport.git/CMakeLists.txt - annotation

Vitaly Takmazov
Merge branch 'master' of https://github.com/hanzz/libtransport
80822e3c77ec
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
c5edfd19b1aa
c5edfd19b1aa
c5edfd19b1aa
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
96e0e9f7a678
fe2f08e97587
96e0e9f7a678
96e0e9f7a678
53270231c99d
96e0e9f7a678
884537fd5f2b
884537fd5f2b
884537fd5f2b
96e0e9f7a678
96e0e9f7a678
96e0e9f7a678
e55aa0234745
e55aa0234745
e55aa0234745
e863d8551966
e863d8551966
e863d8551966
489e7c0e0775
e863d8551966
e863d8551966
e863d8551966
e863d8551966
e863d8551966
e863d8551966
896566e546a7
489e7c0e0775
ba27a9e3a3f9
ba27a9e3a3f9
ba27a9e3a3f9
d2502858d6c0
d2502858d6c0
d2502858d6c0
149c0101f7e9
149c0101f7e9
149c0101f7e9
14ff0a11d657
14ff0a11d657
14ff0a11d657
e494f4968400
e494f4968400
d2502858d6c0
6360ae2c0a19
d2502858d6c0
9a71bc72c092
e23f8e3c7f9d
d41a6550d048
d2502858d6c0
c80a2843f9c1
c80a2843f9c1
c5edfd19b1aa
c5edfd19b1aa
5fd0a88a8006
c80a2843f9c1
c5edfd19b1aa
c5edfd19b1aa
c80a2843f9c1
c5edfd19b1aa
c5edfd19b1aa
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
5fd0a88a8006
ba27a9e3a3f9
ba27a9e3a3f9
ba27a9e3a3f9
c80a2843f9c1
c80a2843f9c1
d2502858d6c0
d2502858d6c0
066f09f03aa0
066f09f03aa0
d2502858d6c0
d2502858d6c0
d2502858d6c0
d2502858d6c0
14ff0a11d657
14ff0a11d657
14ff0a11d657
14ff0a11d657
14ff0a11d657
14ff0a11d657
14ff0a11d657
14ff0a11d657
d2502858d6c0
d2502858d6c0
d2502858d6c0
8e7146a49661
066f09f03aa0
066f09f03aa0
d2502858d6c0
f9d40b961a35
d2502858d6c0
d2502858d6c0
4095ec690445
4095ec690445
c80a2843f9c1
f9d40b961a35
f9d40b961a35
f9d40b961a35
4095ec690445
ba27a9e3a3f9
ba27a9e3a3f9
149c0101f7e9
149c0101f7e9
149c0101f7e9
149c0101f7e9
149c0101f7e9
149c0101f7e9
149c0101f7e9
e863d8551966
e863d8551966
e863d8551966
e863d8551966
e863d8551966
b235a08edef9
e863d8551966
193a7987466c
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
b235a08edef9
e863d8551966
e863d8551966
c80a2843f9c1
c5edfd19b1aa
d2502858d6c0
b235a08edef9
b235a08edef9
e494f4968400
b235a08edef9
e494f4968400
e678a46286f4
b235a08edef9
066f09f03aa0
96e0e9f7a678
e55aa0234745
489e7c0e0775
e863d8551966
96e0e9f7a678
b235a08edef9
cbcf2f145298
b235a08edef9
05e874df86a2
96e0e9f7a678
e8b61aa9b6fd
05e874df86a2
7679342d009c
7679342d009c
7679342d009c
c5edfd19b1aa
a00d7859f663
a00d7859f663
a00d7859f663
a00d7859f663
a00d7859f663
a00d7859f663
a00d7859f663
e494f4968400
c80a2843f9c1
e494f4968400
e494f4968400
d2502858d6c0
e494f4968400
e494f4968400
c80a2843f9c1
cmake_minimum_required(VERSION 2.6)
project(libtransport)

set(CMAKE_MODULE_PATH "cmake_modules")

set(cppunit_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(cppunit)

set(sqlite3_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(sqlite3)

set(mysql_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(mysql)

set(purple_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(purple)

set(glib_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(glib)

set(popt_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(popt)

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

set(Swiften_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(Swiften REQUIRED)

set(openssl_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(openssl REQUIRED)

set(Boost_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
if (WIN32)
set(Boost_USE_STATIC_LIBS        ON)
set(Boost_USE_MULTITHREADED      ON)
set(Boost_USE_STATIC_RUNTIME    OFF)
endif()
find_package(Boost COMPONENTS program_options date_time system filesystem regex thread signals REQUIRED)
message( STATUS "Found Boost: ${Boost_LIBRARIES}, ${Boost_INCLUDE_DIR}")

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

set(IRCClientQt_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(IRCClientQt)

set(log4cxx_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
find_package(log4cxx)

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

find_package(Doxygen)

INCLUDE(FindQt4)
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtNetwork)

# ADD_DEFINITIONS(${SWIFTEN_CFLAGS})
ADD_DEFINITIONS(-DSUPPORT_LEGACY_CAPS)
ADD_DEFINITIONS(-DBOOST_FILESYSTEM_VERSION=2)

message("  Supported features")
message("-----------------------")
if (SQLITE3_FOUND)
	ADD_DEFINITIONS(-DWITH_SQLITE)
	include_directories(${SQLITE3_INCLUDE_DIR})
	message("SQLite3           : yes")
else (SQLITE3_FOUND)
	set(SQLITE3_LIBRARIES "")
	message("SQLite3           : no")
endif (SQLITE3_FOUND)

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

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

	if(PURPLE_LIBRARY AND PURPLE_INCLUDE_DIR)
		message("Libpurple plugin  : yes")
		include_directories(${PURPLE_INCLUDE_DIR})
		include_directories(${GLIB2_INCLUDE_DIR})
	else()
		message("Libpurple plugin  : no (install libpurple)")
	endif()

	if (HAVE_EVENT)
		ADD_DEFINITIONS(-DWITH_LIBEVENT)
		include_directories(${EVENT_INCLUDE_DIRS})
		message("  libev eventloop : yes")
	else()
		message("  libev eventloop : no (install libev-devel)")
	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()
		message("IRC plugin        : no (install libircclient-qt and libprotobuf-dev)")
	endif()

	message("Frotz plugin      : yes")

else()
	message("Network plugins   : no (install libprotobuf-dev)")
	message("Libpurple plugin  : no (install libpurple and libprotobuf-dev)")
	message("IRC plugin        : no (install libircclient-qt and libprotobuf-dev)")
	message("Frotz plugin      : no (install libprotobuf-dev)")
endif()

if (LOG4CXX_FOUND)
	message("Logging           : yes")
	include_directories(${LOG4CXX_INCLUDE_DIR})
else()
	message(FATAL_ERROR "Logging           : no (install log4cxx-devel)")
endif()

if (WIN32)
ADD_DEFINITIONS(-D_WIN32_WINNT=0x501)
ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
endif()

if(CMAKE_BUILD_TYPE MATCHES Debug)
if (CMAKE_COMPILER_IS_GNUCXX)
	ADD_DEFINITIONS(-O3)
	ADD_DEFINITIONS(-ggdb)
	ADD_DEFINITIONS(-Wall)
	ADD_DEFINITIONS(-W)
	ADD_DEFINITIONS(-Wcast-align)
	ADD_DEFINITIONS(-Wextra -Wno-sign-compare -Wno-unused-parameter)
	ADD_DEFINITIONS(-Winit-self)
	ADD_DEFINITIONS(-Wmissing-declarations)
	ADD_DEFINITIONS(-Wpointer-arith)
	ADD_DEFINITIONS(-Wreorder)
	ADD_DEFINITIONS(-Woverloaded-virtual)
	ADD_DEFINITIONS(-Wsign-promo)
	ADD_DEFINITIONS(-Wundef -Wunused)
endif()
	ADD_DEFINITIONS(-DDEBUG)
	message("Debug             : yes")
else(CMAKE_BUILD_TYPE MATCHES Debug)
	message("Debug             : no (run \"cmake . -DCMAKE_BUILD_TYPE=Debug\")")
endif(CMAKE_BUILD_TYPE MATCHES Debug)


SET(TRANSPORT_VERSION 2.0)
SET(PROJECT_VERSION 2.0)
include_directories(include)


include_directories(${EVENT_INCLUDE_DIRS})
include_directories(${SWIFTEN_INCLUDE_DIR})
include_directories(${Boost_INCLUDE_DIRS})
include_directories(${OPENSSL_INCLUDE_DIR})

ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(plugin)
ADD_SUBDIRECTORY(include)
#ADD_SUBDIRECTORY(examples)
ADD_SUBDIRECTORY(spectrum)
ADD_SUBDIRECTORY(backends)
#ADD_SUBDIRECTORY(tests)
if (NOT WIN32)
	ADD_SUBDIRECTORY(spectrum_manager)
endif()

if (CPPUNIT_FOUND)
	message("tests             : yes")
	include_directories(${CPPUNIT_INCLUDE_DIR})
else()
	message("tests             : no (install CPPUnit)")
endif()

if(DOXYGEN_FOUND)
	message("Docs              : yes")
	ADD_SUBDIRECTORY(docs)
else(DOXYGEN_FOUND)
	message("Docs              : no (install doxygen)")
endif(DOXYGEN_FOUND)

message("----------------------")