diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..3d43426 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,76 @@ +CMAKE_MINIMUM_REQUIRED (VERSION 2.4 FATAL_ERROR) +CMAKE_POLICY(SET CMP0005 NEW) +PROJECT (sakura) +SET (AUTHOR "David Gómez Espinosa" INTERNAL "Author") +SET (VERSION "3.6.0") + + +INCLUDE (FindPkgConfig) + +IF (NOT PKG_CONFIG_FOUND) + MESSAGE (FATAL_ERROR "pkg-config not found...") +ENDIF (NOT PKG_CONFIG_FOUND) + +pkg_check_modules (GLIB REQUIRED glib-2.0>=2.40) +IF (NOT GLIB_FOUND) + MESSAGE(FATAL_ERROR "You don't seem to have glib >= 2.40 development libraries installed...") +ENDIF (NOT GLIB_FOUND) + +pkg_check_modules (GTK REQUIRED gtk+-3.0>=3.20) +IF (NOT GTK_FOUND) + MESSAGE(FATAL_ERROR "You don't seem to have gtk >= 3.20 development libraries installed...") +ENDIF (NOT GTK_FOUND) + +pkg_check_modules (VTE REQUIRED vte-2.91>=0.50) +IF (NOT VTE_FOUND) + MESSAGE(FATAL_ERROR "You don't seem to have vte >= 0.50 development libraries installed...") +ENDIF (NOT VTE_FOUND) + +pkg_check_modules (X11 REQUIRED x11) +IF (NOT X11_FOUND) + MESSAGE(FATAL_ERROR "You don't seem to have x11 development libraries installed...") +ENDIF (NOT X11_FOUND) + +FIND_PROGRAM(POD2MAN pod2man) +MESSAGE ("pod2man executable is" ${POD2MAN}) + +ADD_DEFINITIONS (-DVERSION="${VERSION}") +ADD_DEFINITIONS (-DDATADIR="${CMAKE_INSTALL_PREFIX}/share") +ADD_DEFINITIONS (-DBUILDTYPE="${CMAKE_BUILD_TYPE}") + +IF (${CMAKE_BUILD_TYPE} MATCHES "Debug") + SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") +ELSE (${CMAKE_BUILD_TYPE} NOT MATCHES "Debug") + SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -Wno-deprecated-declarations") +ENDIF (${CMAKE_BUILD_TYPE} MATCHES "Debug") + +INCLUDE_DIRECTORIES (. ${GTK_INCLUDE_DIRS} ${VTE_INCLUDE_DIRS}) +LINK_DIRECTORIES (${GTK_LIBRARY_DIRS} ${VTE_LIBRARY_DIRS} ${X11_LIBRARY_DIRS}) +LINK_LIBRARIES (${GTK_LIBRARIES} ${VTE_LIBRARIES} ${X11_LIBRARIES} m) +ADD_EXECUTABLE (sakura src/sakura.c) + +ADD_SUBDIRECTORY (po) + +INSTALL (TARGETS sakura RUNTIME DESTINATION bin) +INSTALL (FILES sakura.desktop DESTINATION share/applications) +INSTALL (FILES terminal-tango.svg DESTINATION share/pixmaps) +IF (POD2MAN) + INSTALL (FILES ${sakura_BINARY_DIR}/sakura.1 DESTINATION share/man/man1) +ENDIF (POD2MAN) +INSTALL (FILES INSTALL DESTINATION share/doc/sakura) + +FILE (GLOB MO_FILES po/*.mo) + +SET_DIRECTORY_PROPERTIES (PROPERTIES + ADDITIONAL_MAKE_CLEAN_FILES "${MO_FILES};po/sakura.pot") +SET (EXECUTABLE_OUTPUT_PATH src) + +ADD_CUSTOM_TARGET (distclean + rm -f Makefile cmake_install.cmake CMakeCache.txt install_manifest.txt sakura.1 + COMMAND rm -f po/*.mo po/sakura.pot po/Makefile po/cmake_install.cmake + COMMAND rm -rf CMakeFiles po/CMakeFiles) + +IF (POD2MAN) +ADD_CUSTOM_TARGET(man ALL + COMMAND ${POD2MAN} -u --section=1 --release=${VERSION} --center '' ${sakura_SOURCE_DIR}/sakura.pod sakura.1) +ENDIF (POD2MAN) |