~ubuntu-branches/ubuntu/natty/freecell-solver/natty

« back to all changes in this revision

Viewing changes to Common.cmake

  • Committer: Bazaar Package Importer
  • Author(s): RISKO Gergely
  • Date: 2009-03-15 23:42:21 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090315234221-sx95hxyfyfgi0pja
Tags: 2.16.0-1
* Imported Upstream version 2.16.0 (closes: #518440)
* cmake is the new buildsystem

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
include(CheckIncludeFile)
 
2
include(CheckIncludeFiles)
 
3
include(CheckFunctionExists)
 
4
include(FindPerl)
 
5
IF (NOT PERL_FOUND)
 
6
    MESSAGE ( FATAL_ERROR "perl must be installed")
 
7
ENDIF(NOT PERL_FOUND)
 
8
 
 
9
# Taken from http://www.cmake.org/pipermail/cmake/2007-March/013060.html
 
10
MACRO(REPLACE_FUNCTIONS sources)
 
11
  FOREACH(name ${ARGN})
 
12
    STRING(TOUPPER have_${name} SYMBOL_NAME)
 
13
    CHECK_FUNCTION_EXISTS(${name} ${SYMBOL_NAME})
 
14
    IF(NOT ${SYMBOL_NAME})
 
15
      SET(${sources} ${${sources}} ${name}.c)
 
16
    ENDIF(NOT ${SYMBOL_NAME})
 
17
  ENDFOREACH(name)
 
18
ENDMACRO(REPLACE_FUNCTIONS)
 
19
 
 
20
MACRO(CHECK_MULTI_INCLUDE_FILES)
 
21
  FOREACH(name ${ARGN})
 
22
    STRING(TOUPPER have_${name} SYMBOL_NAME)
 
23
    STRING(REGEX REPLACE "\\." "_" SYMBOL_NAME ${SYMBOL_NAME})
 
24
    STRING(REGEX REPLACE "/" "_" SYMBOL_NAME ${SYMBOL_NAME})
 
25
    CHECK_INCLUDE_FILE(${name} ${SYMBOL_NAME})
 
26
  ENDFOREACH(name)
 
27
ENDMACRO(CHECK_MULTI_INCLUDE_FILES)
 
28
 
 
29
MACRO(CHECK_MULTI_FUNCTIONS_EXISTS)
 
30
  FOREACH(name ${ARGN})
 
31
    STRING(TOUPPER have_${name} SYMBOL_NAME)
 
32
    CHECK_FUNCTION_EXISTS(${name} ${SYMBOL_NAME})
 
33
  ENDFOREACH(name)
 
34
ENDMACRO(CHECK_MULTI_FUNCTIONS_EXISTS)
 
35
 
 
36
MACRO(PREPROCESS_PATH_PERL SOURCE DEST)
 
37
    SET(PATH_PERL ${PERL_EXECUTABLE})
 
38
    ADD_CUSTOM_COMMAND(
 
39
        OUTPUT ${DEST}
 
40
        COMMAND ${PATH_PERL} 
 
41
        ARGS "-e" 
 
42
        "open I, qq{<\$ARGV[0]}; open O, qq{>\$ARGV[1]}; while(<I>){s{\\@PATH_PERL\\@}{\$ARGV[2]}g;print O \$_;} close(I); close(O);"
 
43
        ${SOURCE}
 
44
        ${DEST}
 
45
        ${PATH_PERL}
 
46
        COMMAND chmod ARGS "a+x" ${DEST}
 
47
        DEPENDS ${SOURCE}
 
48
        VERBATIM
 
49
    )
 
50
    # The custom command needs to be assigned to a target.
 
51
    ADD_CUSTOM_TARGET(
 
52
        process_perl ALL
 
53
        DEPENDS ${DEST}
 
54
    )
 
55
ENDMACRO(PREPROCESS_PATH_PERL)
 
56
 
 
57
MACRO(RUN_POD2MAN SOURCE DEST SECTION CENTER RELEASE)
 
58
    SET(PATH_PERL ${PERL_EXECUTABLE})
 
59
    ADD_CUSTOM_COMMAND(
 
60
        OUTPUT ${DEST}
 
61
        COMMAND ${PATH_PERL} 
 
62
        ARGS "-e" 
 
63
        "my (\$src, \$dest, \$sect, \$center, \$release) = @ARGV; my \$pod = qq{Hoola.pod}; use File::Copy; copy(\$src, \$pod); system(qq{pod2man --section=\$sect --center=\"\$center\" --release=\"\$release\" \$pod > \$dest}); unlink(\$pod)"
 
64
        ${SOURCE}
 
65
        ${DEST}
 
66
        ${SECTION}
 
67
        "${CENTER}"
 
68
        "${RELEASE}"
 
69
        MAIN_DEPENDENCY ${SOURCE}
 
70
        VERBATIM
 
71
    )
 
72
    ADD_CUSTOM_TARGET(
 
73
        POD_${DEST} ALL
 
74
        DEPENDS ${DEST}
 
75
    )
 
76
ENDMACRO(RUN_POD2MAN)
 
77
 
 
78
MACRO(CHOMP VAR)
 
79
    STRING(REGEX REPLACE "[\r\n]+$" "" ${VAR} "${${VAR}}")
 
80
ENDMACRO(CHOMP)
 
81
 
 
82
MACRO(INSTALL_MAN SOURCE SECTION)
 
83
    INSTALL(
 
84
        FILES
 
85
            ${SOURCE}
 
86
        DESTINATION
 
87
            "share/man/man${SECTION}"
 
88
   )
 
89
ENDMACRO(INSTALL_MAN)
 
90
 
 
91
 
 
92
# Configure paths.
 
93
SET (DATADIR "${CMAKE_INSTALL_PREFIX}/share"
 
94
    CACHE PATH "The data dir"
 
95
)
 
96
 
 
97
SET (PKGDATADIR "${DATADIR}/freecell-solver")