"Fossies" - the Fresh Open Source Software Archive

Member "teapot-2.3.0/CMakeLists.txt" (6 Feb 2012, 7018 Bytes) of package /linux/privat/old/teapot-2.3.0.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.


    1 cmake_minimum_required(VERSION 2.6)
    2 project(Teapot)
    3 
    4 set(Teapot_VERSION_MAJOR 2)
    5 set(Teapot_VERSION_MINOR 3)
    6 set(Teapot_VERSION_PATCH 0)
    7 
    8 option(ENABLE_HELP "Enable built-in documentation" ON)
    9 option(ENABLE_UTF8 "Enable UTF-8 support" ON)
   10 option(ENABLE_STATIC "Link FLTK statically" OFF)
   11 
   12 add_library(teapotlib context.c csv.c eval.c func.c htmlio.c latex.c main.c misc.c parser.c sc.c scanner.c sheet.c utf8.c wk1.c xdr.c)
   13 
   14 find_library(LIB_PORTABLEXDR portablexdr)
   15 if (NOT LIB_PORTABLEXDR)
   16 	set(LIB_PORTABLEXDR "")
   17 endif ()
   18 
   19 find_package(Curses)
   20 if (CURSES_FOUND AND ENABLE_UTF8)
   21 	find_library(LIB_CURSESW ncursesw)
   22 	if (NOT LIB_CURSESW)
   23 		find_library(LIB_CURSESW ncursesw5)
   24 	endif ()
   25 	if (LIB_CURSESW)
   26 		set(teapot_DEB_DEPENDS ", libncursesw5 (>= 5.6+20071006-3)")
   27 		set(CURSES_CURSES_LIBRARY ${LIB_CURSESW})
   28 	else ()
   29 		set(ENABLE_UTF8 OFF)
   30 		set(teapot_DEB_DEPENDS ", libncurses5 (>= 5.6+20071006-3)")
   31 	endif ()
   32 elseif (CURSES_FOUND)
   33 	set(teapot_DEB_DEPENDS ", libncurses5 (>= 5.6+20071006-3)")
   34 endif ()
   35 
   36 if (CURSES_FOUND)
   37 	include_directories("${CURSES_INCLUDE_DIR}")
   38 	add_executable(teapot display.c complete.c)
   39 	target_link_libraries(teapot teapotlib m ${CURSES_CURSES_LIBRARY} ${LIB_PORTABLEXDR})
   40 	install(TARGETS teapot DESTINATION bin)
   41 endif ()
   42 
   43 find_package(FLTK NO_MODULE)
   44 if (FLTK_FOUND)
   45 	include("${FLTK_USE_FILE}")
   46 
   47 	fltk_wrap_ui(fteapot fteapot.fl)
   48 	add_executable(fteapot WIN32 ${fteapot_FLTK_UI_SRCS})
   49 	set(fteapot_DEB_DEPENDS ", libstdc++6 (>= 4.1.1), libfltk1.3")
   50 	if (ENABLE_HELP)
   51 		set(fteapot_DEB_DEPENDS "${fteapot_DEB_DEPENDS}, libfltk-images1.3")
   52 		if (ENABLE_STATIC)
   53 			target_link_libraries(fteapot teapotlib fltk fltk_images ${LIB_PORTABLEXDR})
   54 		else ()
   55 			target_link_libraries(fteapot teapotlib fltk_SHARED fltk_images_SHARED ${LIB_PORTABLEXDR})
   56 		endif ()
   57 	else ()
   58 		if (ENABLE_STATIC)
   59 			target_link_libraries(fteapot teapotlib fltk fltk_images ${LIB_PORTABLEXDR})
   60 		else ()
   61 			target_link_libraries(fteapot teapotlib fltk_SHARED ${LIB_PORTABLEXDR})
   62 		endif ()
   63 	endif ()
   64 	install(TARGETS fteapot DESTINATION bin)
   65 endif ()
   66 
   67 if (ENABLE_HELP)
   68 	add_custom_command(
   69 		OUTPUT teapot.tex teapot.lyx
   70 		MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/doc/teapot.lyx
   71 		VERBATIM
   72 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/teapot.lyx teapot.lyx
   73 		COMMAND lyx -e pdflatex -f main teapot.lyx
   74 	)
   75 	add_custom_command(
   76 		OUTPUT teapot.pdf teapot.aux.old teapot.log teapot.toc
   77 		MAIN_DEPENDENCY teapot.tex
   78 		VERBATIM
   79 		COMMAND pdflatex teapot.tex; diff -q teapot.aux.old teapot.aux && cp teapot.aux teapot.aux.old
   80 		COMMAND pdflatex teapot.tex; diff -q teapot.aux.old teapot.aux && cp teapot.aux teapot.aux.old
   81 	)
   82 	add_custom_command(OUTPUT teapot.pdf teapot.out MAIN_DEPENDENCY teapot.tex teapot.aux.old VERBATIM COMMAND pdflatex teapot.tex; diff -q teapot.aux.old teapot.aux && cp teapot.aux teapot.aux.old)
   83 	add_custom_command(
   84 		OUTPUT html/ html/index.html .latex2html-init
   85 		MAIN_DEPENDENCY teapot.tex
   86 		DEPENDS teapot.tex teapot.pdf ${CMAKE_CURRENT_SOURCE_DIR}/doc/.latex2html-init
   87 		VERBATIM
   88 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/.latex2html-init .latex2html-init
   89 		COMMAND ${CMAKE_COMMAND} -E make_directory html
   90 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/contents.png html/
   91 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/next.png html/
   92 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/next_g.png html/
   93 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/prev.png html/
   94 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/prev_g.png html/
   95 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/up.png html/
   96 		COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/up_g.png html/
   97 		COMMAND latex2html teapot.tex
   98 	)
   99 	add_custom_target(pdf DEPENDS teapot.pdf)
  100 	add_custom_target(html DEPENDS html/index.html)
  101 	add_custom_target(doc ALL DEPENDS teapot.pdf html/index.html)
  102 	install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc/teapot FILES_MATCHING PATTERN *.html PATTERN *.png)
  103 	install(FILES ${CMAKE_CURRENT_BINARY_DIR}/teapot.pdf DESTINATION share/doc/teapot)
  104 	set(HELPFILE "${CMAKE_INSTALL_PREFIX}/share/doc/teapot/index.html")
  105 endif ()
  106 
  107 install(FILES COPYING README DESTINATION share/doc/teapot)
  108 install(FILES teapot.1 DESTINATION share/man/man1)
  109 
  110 add_custom_target(dist
  111 	COMMAND ${CMAKE_COMMAND} -E remove_directory teapot-${Teapot_VERSION_MAJOR}.${Teapot_VERSION_MINOR}.${Teapot_VERSION_PATCH}
  112 	COMMAND ${CMAKE_COMMAND} -E make_directory teapot-${Teapot_VERSION_MAJOR}.${Teapot_VERSION_MINOR}.${Teapot_VERSION_PATCH}
  113 	COMMAND LANG=C bash -c "cp -r ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_SOURCE_DIR}/examples ${CMAKE_CURRENT_SOURCE_DIR}/[A-Z]*[A-Z] ${CMAKE_CURRENT_SOURCE_DIR}/*.*[a-z1] teapot-${Teapot_VERSION_MAJOR}.${Teapot_VERSION_MINOR}.${Teapot_VERSION_PATCH}"
  114 	COMMAND tar czf teapot-${Teapot_VERSION_MAJOR}.${Teapot_VERSION_MINOR}.${Teapot_VERSION_PATCH}.tar.gz teapot-${Teapot_VERSION_MAJOR}.${Teapot_VERSION_MINOR}.${Teapot_VERSION_PATCH}
  115 	COMMAND setarch ${CPACK_RPM_PACKAGE_ARCHITECTURE} cpack
  116 	COMMAND bash -c "[ ! -f fteapot ] || for i in Teapot-*-Linux.*; do mv \"\$i\" \"\${i%-Linux.*}-Linux-${CPACK_RPM_PACKAGE_ARCHITECTURE}.\${i##*-Linux.}\"; done"
  117 	COMMAND bash -c "[ ! -f fteapot.exe -o ${ENABLE_HELP} != OFF ] || { rm Teapot-*.zip; i586-mingw32msvc-strip fteapot.exe && upx -9 -o Teapot-${Teapot_VERSION_MAJOR}.${Teapot_VERSION_MINOR}.${Teapot_VERSION_PATCH}-win32-minimal.exe fteapot.exe; }"
  118 	VERBATIM
  119 )
  120 
  121 configure_file("${PROJECT_SOURCE_DIR}/config.h.in" "${PROJECT_BINARY_DIR}/config.h")
  122 include_directories("${PROJECT_BINARY_DIR}")
  123 include_directories("${PROJECT_SOURCE_DIR}")
  124 
  125 set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ARCH-NOTFOUND CACHE ".deb Architecture" STRING)
  126 set(CPACK_RPM_PACKAGE_ARCHITECTURE ARCH-NOTFOUND CACHE ".rpm Architecture" STRING)
  127 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Table Editor And Planner, Or: Teapot!")
  128 set(CPACK_PACKAGE_DESCRIPTION "A three-dimensional spreadsheet specialized in advanced calculations. Comes in GUI (FLTK) and console (curses) flavours.")
  129 set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
  130 set(CPACK_PACKAGE_VENDOR "Jörg Walter, http://www.syntax-k.de/projekte/teapot")
  131 
  132 set(CPACK_RESOURCE_FILE_LICENSE  "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
  133 set(CPACK_PACKAGE_VERSION_MAJOR "${Teapot_VERSION_MAJOR}")
  134 set(CPACK_PACKAGE_VERSION_MINOR "${Teapot_VERSION_MINOR}")
  135 set(CPACK_PACKAGE_VERSION_PATCH "${Teapot_VERSION_PATCH}")
  136 set(CPACK_PACKAGE_CONTACT "Jörg Walter <info@syntax-k.de>")
  137 set(CPACK_PACKAGE_EXECUTABLES "fteapot" "Teapot")
  138 set(CPACK_STRIP_FILES TRUE)
  139 
  140 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.11), libgcc1 (>= 1:4.1.1)${teapot_DEB_DEPENDS}${fteapot_DEB_DEPENDS}")
  141 include(InstallRequiredSystemLibraries)
  142 include(CPack)
  143 
  144 if (NOT CMAKE_BUILD_TYPE)
  145   set(CMAKE_BUILD_TYPE MinSizeRel CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
  146 endif ()