Skip to content

Commit

Permalink
Merge pull request #2 from awakecoding/master
Browse files Browse the repository at this point in the history
CMake Migration
  • Loading branch information
awakecoding committed Nov 28, 2011
2 parents d205a3a + b9fa1a5 commit b7db890
Show file tree
Hide file tree
Showing 66 changed files with 3,439 additions and 1,197 deletions.
16 changes: 15 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
*.a
*.o
*.lo
*.la
*.so
*.mo
*.gmo
*.swp
*.tar.gz
Expand All @@ -14,7 +17,6 @@ Makefile.in
aclocal.m4
_configs.sed
config.h
config.h.in
config.log
config.status
config.guess
Expand All @@ -31,6 +33,18 @@ ltmain.sh
*/po/POTFILES
*/po/stamp-it

.project
.cproject
.settings

CMakeFiles
CMakeCache.txt
cmake_install.cmake
install_manifest.txt

remmina/remmina

rfbint.h
remmina/src/remmina
remmina/desktop/remmina.desktop
remmina-plugins/libvncserver/rfb/rfbconfig.h
Expand Down
108 changes: 108 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Remmina - The GTK+ Remote Desktop Client
#
# Copyright (C) 2011 Marc-Andre Moreau
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307, USA.

cmake_minimum_required(VERSION 2.6)
set(CMAKE_COLOR_MAKEFILE ON)
project(Remmina C)

include(CheckIncludeFiles)
include(CheckLibraryExists)
include(FindPkgConfig)
include(CheckCCompilerFlag)

set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)

include(FindOptionalPackage)

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()

if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
set(CMAKE_INSTALL_LIBDIR "lib")
endif()

if(NOT DEFINED CMAKE_INSTALL_BINDIR)
set(CMAKE_INSTALL_BINDIR "bin")
endif()

if(NOT BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS ON)
endif()

if(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
CHECK_C_COMPILER_FLAG(-Wno-unused-result Wno-unused-result)
if(Wno-unused-result)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-result")
endif()
CHECK_C_COMPILER_FLAG(-Wno-unused-but-set-variable Wno-unused-but-set-variable)
if(Wno-unused-but-set-variable)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-but-set-variable")
endif()
CHECK_C_COMPILER_FLAG(-Wno-unused-function Wno-unused-function)
if(Wno-unused-function)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function")
endif()
endif()

check_include_files(sys/param.h HAVE_SYS_PARAM_H)
check_include_files(sys/socket.h HAVE_SYS_SOCKET_H)
check_include_files(arpa/inet.h HAVE_ARPA_INET_H)
check_include_files(netinet/in.h HAVE_NETINET_IN_H)
check_include_files(termios.h HAVE_TERMIOS_H)
check_include_files(netdb.h HAVE_NETDB_H)
check_include_files(fcntl.h HAVE_FCNTL_H)
check_include_files(unistd.h HAVE_UNISTD_H)
check_include_files(sys/un.h HAVE_SYS_UN_H)
check_include_files(errno.h HAVE_ERRNO_H)

include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(${CMAKE_SOURCE_DIR}/include)

set(REMMINA_VERSION "0.9.99.1")
set(REMMINA_DATADIR "${CMAKE_INSTALL_PREFIX}/share/remmina")
set(REMMINA_LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale")
set(REMMINA_PLUGINDIR "${CMAKE_INSTALL_PREFIX}/lib/remmina/plugins")

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/config.h)

find_suggested_package(PTHREAD)
if(PTHREAD_FOUND)
add_definitions(-DHAVE_PTHREAD)
endif()

find_suggested_package(GCRYPT)
if(GCRYPT_FOUND)
add_definitions(-DHAVE_LIBGCRYPT)
endif()

find_suggested_package(AVAHI)
if(AVAHI_FOUND)
add_definitions(-DHAVE_LIBAVAHI_UI)
add_definitions(-DHAVE_LIBAVAHI_CLIENT)
endif()

find_required_package(GTK3)
if(GTK3_FOUND)
add_subdirectory(remmina)
add_subdirectory(remmina-plugins)
add_subdirectory(remmina-plugins-gnome)
endif()
38 changes: 38 additions & 0 deletions cmake/FindAPPINDICATOR.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Remmina - The GTK+ Remote Desktop Client
#
# Copyright (C) 2011 Marc-Andre Moreau
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307, USA.

pkg_check_modules(PC_APPINDICATOR appindicator3-0.1)

find_path(APPINDICATOR_INCLUDE_DIR NAMES libappindicator/app-indicator.h
HINTS ${PC_APPINDICATOR_INCLUDEDIR} ${PC_APPINDICATOR_INCLUDE_DIRS}
PATH_SUFFIXES libappindicator-0.1)

find_library(APPINDICATOR_LIBRARY NAMES appindicator3)

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args(APPINDICATOR DEFAULT_MSG APPINDICATOR_LIBRARY APPINDICATOR_INCLUDE_DIR)

if(APPINDICATOR_FOUND)
set(APPINDICATOR_LIBRARIES ${APPINDICATOR_LIBRARY})
set(APPINDICATOR_INCLUDE_DIRS ${APPINDICATOR_INCLUDE_DIR})
endif()

mark_as_advanced(APPINDICATOR_INCLUDE_DIR APPINDICATOR_LIBRARY)

37 changes: 37 additions & 0 deletions cmake/FindAVAHI.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Remmina - The GTK+ Remote Desktop Client
#
# Copyright (C) 2011 Marc-Andre Moreau
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307, USA.

find_package(PkgConfig)
pkg_check_modules(PC_AVAHI avahi-ui-gtk3>=0.6.30 avahi-client>=0.6.30)

find_path(AVAHI_INCLUDE_DIR avahi-ui/avahi-ui.h
HINTS ${PC_AVAHI_INCLUDEDIR} ${PC_AVAHI_INCLUDE_DIRS})

find_library(AVAHI_LIBRARY NAMES avahi-ui-gtk3
HINTS ${PC_AVAHI_LIBDIR} ${PC_AVAHI_LIBRARY_DIRS})

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args(AVAHI DEFAULT_MSG AVAHI_LIBRARY AVAHI_INCLUDE_DIR)

set(AVAHI_LIBRARIES ${AVAHI_LIBRARY})
set(AVAHI_INCLUDE_DIRS ${AVAHI_INCLUDE_DIR})

mark_as_advanced(AVAHI_INCLUDE_DIR AVAHI_LIBRARY)

53 changes: 53 additions & 0 deletions cmake/FindFREERDP.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Remmina - The GTK+ Remote Desktop Client
#
# Copyright (C) 2011 Marc-Andre Moreau
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307, USA.

find_package(PkgConfig)
pkg_check_modules(PC_FREERDP freerdp>=1.0)
set(FREERDP_DEFINITIONS ${PC_FREERDP_CFLAGS_OTHER})

find_path(FREERDP_INCLUDE_DIR NAMES freerdp/freerdp.h
HINTS ${PC_FREERDP_INCLUDEDIR} ${PC_FREERDP_INCLUDE_DIRS})

find_library(FREERDP_LIBRARY NAMES freerdp-core
HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_GDI_LIBRARY NAMES freerdp-gdi
HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_KBD_LIBRARY NAMES freerdp-kbd
HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_RAIL_LIBRARY NAMES freerdp-rail
HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_CODEC_LIBRARY NAMES freerdp-codec
HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

find_library(FREERDP_CHANNELS_LIBRARY NAMES freerdp-channels
HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args(FREERDP DEFAULT_MSG FREERDP_LIBRARY FREERDP_INCLUDE_DIR)

set(FREERDP_LIBRARIES ${FREERDP_LIBRARY} ${FREERDP_GDI_LIBRARY} ${FREERDP_KBD_LIBRARY} ${FREERDP_RAIL_LIBRARY} ${FREERDP_CODEC_LIBRARY} ${FREERDP_CHANNELS_LIBRARY})
set(FREERDP_INCLUDE_DIRS ${FREERDP_INCLUDE_DIR})

mark_as_advanced(FREERDP_INCLUDE_DIR FREERDP_LIBRARY)

32 changes: 32 additions & 0 deletions cmake/FindGCRYPT.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Remmina - The GTK+ Remote Desktop Client
#
# Copyright (C) 2011 Marc-Andre Moreau
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307, USA.

find_path(GCRYPT_INCLUDE_DIR NAMES gcrypt.h)

find_library(GCRYPT_LIBRARY NAMES gcrypt)

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args(GCRYPT DEFAULT_MSG GCRYPT_LIBRARY GCRYPT_INCLUDE_DIR)

set(GCRYPT_LIBRARIES ${GCRYPT_LIBRARY})
set(GCRYPT_INCLUDE_DIRS ${GCRYPT_INCLUDE_DIR})

mark_as_advanced(GCRYPT_INCLUDE_DIR GCRYPT_LIBRARY)

35 changes: 35 additions & 0 deletions cmake/FindGNOMEKEYRING.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Remmina - The GTK+ Remote Desktop Client
#
# Copyright (C) 2011 Marc-Andre Moreau
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307, USA.

find_path(GNOMEKEYRING_INCLUDE_DIR NAMES gnome-keyring.h
PATH_SUFFIXES gnome-keyring-1)

find_library(GNOMEKEYRING_LIBRARY NAMES gnome-keyring)

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args(GNOMEKEYRING DEFAULT_MSG GNOMEKEYRING_LIBRARY GNOMEKEYRING_INCLUDE_DIR)

if(GNOMEKEYRING_FOUND)
set(GNOMEKEYRING_LIBRARIES ${GNOMEKEYRING_LIBRARY})
set(GNOMEKEYRING_INCLUDE_DIRS ${GNOMEKEYRING_INCLUDE_DIR})
endif()

mark_as_advanced(GNOMEKEYRING_INCLUDE_DIR GNOMEKEYRING_LIBRARY)

Loading

0 comments on commit b7db890

Please sign in to comment.