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
|
# Copyright (C) 2013 Ahmet Öztürk (aoz_2@yahoo.com)
#
# This file is part of Lifeograph.
#
# Lifeograph 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 3 of the License, or
# (at your option) any later version.
#
# Lifeograph 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 Lifeograph. If not, see <http://www.gnu.org/licenses/>.
cmake_minimum_required( VERSION 2.6 )
project( Lifeograph )
set( PACKAGE_NAME lifeograph )
set( Lifeograph_VERSION_MAJOR 1 )
set( Lifeograph_VERSION_MINOR 0 )
set( PROJECT_BINARY_DIR ${PROJECT_SOURCE_DIR}/build )
add_definitions( -Wall -DHAVE_CONFIG_H )
# DEBUG BUILD
if( ${CMAKE_BUILD_TYPE} MATCHES Debug )
set( DEBUG_BUILD 1 )
else()
set( DEBUG_BUILD 0 )
endif()
# config.h DEFINITIONS
set( LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale" )
set( PIXMAPDIR "${CMAKE_INSTALL_PREFIX}/share/pixmaps" )
set( ICONDIR "${CMAKE_INSTALL_PREFIX}/share/${PACKAGE_NAME}/icons" )
set( UIDIR "${CMAKE_INSTALL_PREFIX}/share/${PACKAGE_NAME}/ui" )
set( DIARYDIR "${CMAKE_INSTALL_PREFIX}/share/${PACKAGE_NAME}/diaries" )
# PACKAGES
find_package( PkgConfig REQUIRED )
find_library( GCRYPT gcrypt )
if( ${GCRYPT} MATCHES "GCRYPT-NOTFOUND" )
message( "Gcrypt library not found" )
return()
endif()
pkg_check_modules( GTKMM REQUIRED gtkmm-3.0>=3.4 )
pkg_check_modules( ENCHANT REQUIRED enchant )
# CONFIGURATION HEADER FILE
configure_file(
"${PROJECT_SOURCE_DIR}/config.h.in"
"${PROJECT_BINARY_DIR}/config.h" )
# add path of config.h
include_directories( "${PROJECT_BINARY_DIR}" )
include_directories( ${GTKMM_INCLUDE_DIRS} ${ENCHANT_INCLUDE_DIRS} )
#link_directories( ${GTKMM_LIBRARY_DIRS} ${ENCHANT_LIBRARY_DIRS} )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} )
# config.h APPENDAGES
if( EXISTS ${PROJECT_SOURCE_DIR}/.bzr AND ${CMAKE_BUILD_TYPE} MATCHES Debug )
execute_process( COMMAND bzr revno OUTPUT_VARIABLE REVISION_NO )
string( REGEX REPLACE \n "" REVISION_NO "${REVISION_NO}" )
message( "Building revision ${REVISION_NO}" )
add_custom_target( APPEND_REV_NO ALL
COMMAND
echo "#define REVISION_NO \" r${REVISION_NO}\"" >> ${PROJECT_BINARY_DIR}/config.h
COMMAND echo "\\n\\n#endif\\n" >> ${PROJECT_BINARY_DIR}/config.h
VERBATIM )
else()
add_custom_target( APPEND_REV_NO ALL
COMMAND echo "#define REVISION_NO" >> ${PROJECT_BINARY_DIR}/config.h
COMMAND echo "\\n\\n#endif\\n" >> ${PROJECT_BINARY_DIR}/config.h
VERBATIM )
endif()
# TARGETS
add_executable(
${PACKAGE_NAME}
src/dialog_export.cpp src/dialog_password.cpp src/dialog_preferences.cpp
src/diary.cpp src/diarydata.cpp src/entry.cpp src/entry_parser.cpp src/helpers.cpp
src/lifeobase.cpp src/lifeograph.cpp src/main.cpp src/panel_diary.cpp
src/panel_extra.cpp src/panel_main.cpp src/printing.cpp src/settings.cpp src/undo.cpp
src/view_entry.cpp src/view_login.cpp src/views.cpp src/widget_chart.cpp
src/widget_entrylist.cpp src/widget_tag_list.cpp src/widget_textview.cpp )
target_link_libraries( ${PACKAGE_NAME} ${GTKMM_LIBRARIES} ${ENCHANT_LIBRARIES} ${GCRYPT} )
|