2 cmake_minimum_required (VERSION 2.8.0)
6 set (CMAKE_VERBOSE_MAKEFILE false)
8 add_definitions (-Wall)
9 #add_definitions (-Werror)
14 set (VERSION_LONG "${VERSION}")
17 if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
18 find_program (GIT_PROG "git")
21 COMMAND ${GIT_PROG} "describe" "${BRANCH}"
23 OUTPUT_STRIP_TRAILING_WHITESPACE)
25 set (VERSION_LONG "${DESCR}")
30 find_program (DATE_PROG "date")
33 COMMAND ${DATE_PROG} "+%Y-%m-%d"
35 OUTPUT_STRIP_TRAILING_WHITESPACE)
37 set (VERSION_LONG "${VERSION_LONG} built on ${DATE}")
41 set (HOST_SETUP "${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR}")
42 set (VERSION_LONG "${VERSION_LONG} for ${HOST_SETUP}")
44 # Set default build type.
46 if (NOT CMAKE_BUILD_TYPE)
47 set (CMAKE_BUILD_TYPE "debug")
50 # Set default for WITHOUT_DESKTOP.
52 if (NOT WITHOUT_DESKTOP)
53 set (WITHOUT_DESKTOP false)
56 # Set default for WITHOUT_QM.
59 set (WITHOUT_QM false)
62 # Set default for WITHOUT_DOC.
65 set (WITHOUT_DOC false)
71 "${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake.in"
72 "${CMAKE_CURRENT_BINARY_DIR}/config.h"
78 "${CMAKE_CURRENT_SOURCE_DIR}/nomnom.desktop.in"
79 "${CMAKE_CURRENT_BINARY_DIR}/nomnom.desktop"
131 set (nomnom_rc rc/nomnom.qrc)
134 file (GLOB nomnom_ts "${CMAKE_CURRENT_SOURCE_DIR}/tr/*.ts")
139 find_package (Qt4 4.5.0 COMPONENTS QtCore QtGui QtScript REQUIRED)
140 include (${QT_USE_FILE})
142 qt4_add_resources (nomnom_rc_src ${nomnom_rc})
144 qt4_add_translation (nomnom_qm ${nomnom_ts})
146 qt4_wrap_ui (nomnom_ui_hdr ${nomnom_ui})
147 qt4_wrap_cpp (nomnom_moc_src ${nomnom_moc_hdr})
149 # http://www.vtk.org/Wiki/CMake_2.8.0_Docs : qt4_create_translation
152 "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}")
156 include_directories (
158 ${CMAKE_CURRENT_SOURCE_DIR}/src
159 ${CMAKE_CURRENT_SOURCE_DIR}/src/i
171 set (exec_components ${exec_components} ${nomnom_qm})
174 add_executable (nomnom ${exec_components})
183 message (STATUS "Configuration for")
184 message (STATUS " NomNom ${VERSION_LONG}")
186 message (STATUS "Options:")
187 message (STATUS " Install prefix: ${CMAKE_INSTALL_PREFIX}")
188 message (STATUS " Host setup : ${HOST_SETUP}")
189 message (STATUS " Build type : ${CMAKE_BUILD_TYPE}")
190 message (STATUS " (debug, release, relwithdebinfo, minsizerel)")
191 message (STATUS " Verbose make : ${CMAKE_VERBOSE_MAKEFILE}")
192 message (STATUS " Without desktop: ${WITHOUT_DESKTOP}")
193 message (STATUS " Without transl.: ${WITHOUT_QM}")
194 message (STATUS " Without doc : ${WITHOUT_DOC}")
196 message (STATUS "Found:")
197 message (STATUS " Compiler: ${CMAKE_CXX_COMPILER}")
198 message (STATUS " Linker : ${CMAKE_LINKER}")
199 message (STATUS " Make : ${CMAKE_MAKE_PROGRAM}")
200 message (STATUS " Qt : ${qt_VERSION}")
203 # Force these variables to be written to cache.
205 set (CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH
206 "Install destination for ${PROJECT_NAME}" FORCE)
208 set (CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
209 "Type of build: none, debug, release, relwithdebinfo minsizerel" FORCE)
211 set (CMAKE_VERBOSE_MAKEFILE "${CMAKE_VERBOSE_MAKEFILE}" CACHE BOOL
212 "Build with verbose makefiles: true, false" FORCE)
214 set (WITHOUT_DESKTOP "${WITHOUT_DESKTOP}" CACHE BOOL
215 "Install without desktop integration files: true, false" FORCE)
217 set (WITHOUT_QM "${WITHOUT_QM}" CACHE BOOL
218 "Install without translation files: true, false" FORCE)
220 set (WITHOUT_DOC "${WITHOUT_DOC}" CACHE BOOL
221 "Install without documentation: true, false" FORCE)
225 target_link_libraries (nomnom ${QT_LIBRARIES})
229 include (InstallRequiredSystemLibraries)
231 set (CPACK_SOURCE_PACKAGE_FILE_NAME
237 set (CPACK_PACKAGE_FILE_NAME ${CPACK_SOURCE_PACKAGE_FILE_NAME})
238 set (CPACK_GENERATOR "TGZ")
239 set (CPACK_SOURCE_GENERATOR "TGZ")
240 set (CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/COPYING)
241 set (CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_SOURCE_DIR}/README)
243 set (CPACK_SOURCE_IGNORE_FILES
256 # Notice the inclusion here, after setting the cpack variables.
262 "${CMAKE_CURRENT_BINARY_DIR}/nomnom" DESTINATION bin/)
265 install (FILES ${nomnom_qm} DESTINATION share/nomnom/tr/)
268 if (NOT WITHOUT_DESKTOP)
269 install (FILES "${CMAKE_CURRENT_BINARY_DIR}/nomnom.desktop"
270 DESTINATION share/applications/)
272 install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/rc/img/nomnom.png"
273 DESTINATION share/pixmaps/)
279 "${CMAKE_CURRENT_SOURCE_DIR}/uninstall.cmake.in"
280 "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake"
286 "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake"