forked from falsovsky/FiSH-irssi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
101 lines (74 loc) · 3.33 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(FiSH-irssi C)
SET(VERSION_MAJOR 1)
SET(VERSION_MINOR 3)
SET(FISH_VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(GLIB_PKG REQUIRED glib-2.0)
PKG_CHECK_MODULES(OPENSSL REQUIRED openssl)
if(GLIB_PKG_FOUND)
INCLUDE_DIRECTORIES(${GLIB_PKG_INCLUDE_DIRS})
LINK_DIRECTORIES(${GLIB_PKG_LIBRARY_DIRS})
MESSAGE(STATUS "Using glib-2.0 ${GLIB_PKG_VERSION}")
ENDIF()
if(OPENSSL_FOUND)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIRS})
LINK_DIRECTORIES(${OPENSSL_LIBRARY_DIRS})
MESSAGE(STATUS "Using OpenSSL ${OPENSSL_VERSION}")
ENDIF()
SET(IRSSI_PATH "/usr/include/irssi" PATH "path to irssi include files")
FIND_PATH(irssi_INCLUDE_DIR
NAMES irssi-config.h src/common.h
PATHS ${IRSSI_PATH} /usr/local/include/irssi
)
IF(NOT irssi_INCLUDE_DIR)
MESSAGE(SEND_ERROR "Could not auto find the irssi include files, please run:\n# cmake -DIRSSI_PATH:PATH=/path/to/irssi/includes .")
RETURN()
ENDIF()
INCLUDE_DIRECTORIES(${irssi_INCLUDE_DIR} ${irssi_INCLUDE_DIR}/src ${irssi_INCLUDE_DIR}/src/fe-common/core ${irssi_INCLUDE_DIR}/src/core)
MESSAGE(STATUS "The module will be installed to ${CMAKE_INSTALL_PREFIX}/lib/irssi/modules")
MESSAGE(STATUS "You can change it with 'cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .'")
STRING(FIND ${irssi_INCLUDE_DIR} ${CMAKE_INSTALL_PREFIX} AIDS)
IF(NOT ${AIDS} EQUAL 0)
STRING(REPLACE "/include/irssi" "" IRSSI_PATH ${irssi_INCLUDE_DIR})
MESSAGE(WARNING "irssi seems to be installed in ${IRSSI_PATH} and youre installing FiSH to ${CMAKE_INSTALL_PREFIX}, irssi wont be able to find the plugin there")
ENDIF()
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
FIND_PACKAGE(Git)
IF(GIT_FOUND)
EXECUTE_PROCESS(
COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE "FISH_GIT_REVISION"
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE "FISH_GIT_HASH"
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
SET(FISH_VERSION r${FISH_GIT_REVISION}-${FISH_GIT_HASH})
ENDIF(GIT_FOUND)
ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
CONFIGURE_FILE(src/FiSH_version.h.in src/FiSH_version.h)
ADD_SUBDIRECTORY(src)
INSTALL(FILES README.md FiSH-irssi.txt DESTINATION share/doc/FiSH-irssi)
SET(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)
IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
INCLUDE(InstallRequiredSystemLibraries)
SET(CPACK_SET_DESTDIR "on")
SET(CPACK_PACKAGING_INSTALL_PREFIX "/tmp")
SET(CPACK_GENERATOR "DEB;RPM")
SET(CPACK_PACKAGE_DESCRIPTION "FiSH encryption for irssi")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "FiSH encryption for irssi")
SET(CPACK_PACKAGE_VENDOR "Pedro de Oliveira")
SET(CPACK_PACKAGE_CONTACT "[email protected]")
SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${VERSION_MAJOR}.${VERSION_MINOR}")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${VERSION_MAJOR}.${VERSION_MINOR}")
set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.1.3), libssl1.0.0 (>= 1.0.0), libglib2.0-0 (>= 2.24.0), irssi (>= 0.8.13)")
SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
SET(CPACK_COMPONENTS_ALL Libraries ApplicationData)
INCLUDE(CPack)
ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")