~ubuntu-branches/ubuntu/trusty/liblas/trusty-proposed

« back to all changes in this revision

Viewing changes to cmake/modules/BuildOSGeo4W.cmake

  • Committer: Package Import Robot
  • Author(s): Francesco Paolo Lovergine
  • Date: 2014-01-05 17:00:29 UTC
  • mfrom: (7.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20140105170029-ddtp0j63x5jvck2u
Tags: 1.7.0+dfsg-2
Fixed missing linking of system boost component.
(closes: #733282)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
###############################################################################
 
2
#
 
3
# OSGeo4W packaging
 
4
#
 
5
###############################################################################
 
6
 
 
7
 
 
8
set(OSGEO4W_DIR osgeo4w)
 
9
set(OSGEO4W_LIB_DIR ${OSGEO4W_DIR}/lib)
 
10
set(OSGEO4W_ETC_DIR ${OSGEO4W_DIR}/etc)
 
11
set(OSGEO4W_ETC_INI_DIR ${OSGEO4W_DIR}/etc/ini)
 
12
set(OSGEO4W_ETC_POSTINSTALL_DIR ${OSGEO4W_DIR}/etc/postinstall)
 
13
set(OSGEO4W_LIB_BIN_DIR ${OSGEO4W_DIR}/lib/bin)
 
14
set(OSGEO4W_BIN_DIR ${OSGEO4W_DIR}/bin)
 
15
set(OSGEO4W_DEVEL_DIR ${OSGEO4W_DIR}/devel)
 
16
set(OSGEO4W_DEVEL_INCLUDE_DIR ${OSGEO4W_DEVEL_DIR}/include)
 
17
set(OSGEO4W_DEVEL_INCLUDE_LIBLAS_DIR ${OSGEO4W_DEVEL_INCLUDE_DIR}/liblas)
 
18
set(OSGEO4W_DEVEL_LIB_DIR ${OSGEO4W_DEVEL_DIR}/lib)
 
19
set(OSGEO4W_DEVEL_BIN_DIR ${OSGEO4W_DEVEL_DIR}/bin)
 
20
 
 
21
set(OSGEO4W_PYTHON_DIR ${OSGEO4W_DIR}/apps/python25/lib/site-packages/liblas)
 
22
set(OSGEO4W_PACKAGES ${OSGEO4W_DIR}/packages)
 
23
 
 
24
 
 
25
set(OSGEO4W_DIRECTORIES
 
26
    ${OSGEO4W_DIR}
 
27
    ${OSGEO4W_ETC_DIR}
 
28
    ${OSGEO4W_ETC_INI_DIR}
 
29
    ${OSGEO4W_ETC_POSTINSTALL_DIR}
 
30
    ${OSGEO4W_LIB_DIR}
 
31
    ${OSGEO4W_LIB_BIN_DIR}
 
32
    ${OSGEO4W_DEVEL_DIR}
 
33
    ${OSGEO4W_DEVEL_INCLUDE_DIR}
 
34
    ${OSGEO4W_DEVEL_INCLUDE_LIBLAS_DIR}
 
35
    ${OSGEO4W_DEVEL_LIB_DIR}
 
36
    ${OSGEO4W_PYTHON_DIR}
 
37
    ${OSGEO4W_DEVEL_BIN_DIR}
 
38
    ${OSGEO4W_PACKAGES}
 
39
    ${OSGEO4W_BIN_DIR})
 
40
 
 
41
 
 
42
 
 
43
add_custom_target(make_osgeo4w_directories
 
44
  COMMAND ${CMAKE_COMMAND} -E echo "Building OSGeo4W install directories")
 
45
 
 
46
foreach(utility ${LIBLAS_UTILITIES})
 
47
    add_dependencies(  make_osgeo4w_directories  ${utility} )
 
48
endforeach()
 
49
 
 
50
 
 
51
macro (make_directories)
 
52
    add_custom_command(
 
53
        TARGET make_osgeo4w_directories
 
54
        COMMAND ${CMAKE_COMMAND} -E  remove_directory  ${libLAS_SOURCE_DIR}/osgeo4w DEPENDS osgeo4w
 
55
    )
 
56
    foreach(directory ${OSGEO4W_DIRECTORIES})
 
57
 
 
58
    STRING(REGEX REPLACE "/" "_" target "${directory}" )
 
59
 
 
60
    add_custom_command(
 
61
        TARGET make_osgeo4w_directories
 
62
        COMMAND ${CMAKE_COMMAND} -E make_directory ${directory}
 
63
    )
 
64
 
 
65
    endforeach()
 
66
 
 
67
endmacro(make_directories)
 
68
 
 
69
 
 
70
 
 
71
add_custom_target(copy ALL COMMENT "Copying OSGeo4W files")
 
72
add_dependencies( copy make_osgeo4w_directories  )
 
73
 
 
74
 
 
75
macro(copy_files GLOBPAT DESTINATION  )
 
76
 
 
77
    file(GLOB_RECURSE COPY_FILES
 
78
         RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
 
79
        ${GLOBPAT})
 
80
    foreach(FILENAME ${COPY_FILES})
 
81
        set(SRC "${FILENAME}")
 
82
        set(DST "${DESTINATION}")
 
83
        add_custom_command(
 
84
            TARGET copy
 
85
            COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
 
86
        )
 
87
    endforeach(FILENAME)
 
88
endmacro(copy_files)
 
89
 
 
90
 
 
91
macro(copy_directory SOURCE DESTINATION  )
 
92
        add_custom_command(
 
93
            TARGET copy
 
94
            COMMAND ${CMAKE_COMMAND} -E copy_directory ${SOURCE} ${DESTINATION}
 
95
        )
 
96
endmacro(copy_directory)
 
97
 
 
98
 
 
99
add_custom_target(tar
 
100
  COMMAND ${CMAKE_COMMAND} -E echo "Tarring OSGeo4W install")
 
101
add_dependencies( tar copy  )
 
102
 
 
103
macro (tar_directories source destination base_paths)    
 
104
    add_custom_command(
 
105
        TARGET tar
 
106
        COMMAND ${CMAKE_COMMAND} -E chdir ${source} cmake -E tar cjf  ${destination} ${base_paths}
 
107
    )
 
108
endmacro(tar_directories)
 
109
 
 
110
make_directories()
 
111
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/lasinfo.exe ${OSGEO4W_BIN_DIR}/lasinfo.exe  )
 
112
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/lasinfo-old.exe ${OSGEO4W_BIN_DIR}/lasinfo-old.exe   )
 
113
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/las2las.exe ${OSGEO4W_BIN_DIR}/las2las.exe  )
 
114
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/las2las-old.exe ${OSGEO4W_BIN_DIR}/las2las-old.exe  )
 
115
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/las2ogr.exe ${OSGEO4W_BIN_DIR}/las2ogr.exe   )
 
116
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/las2oci.exe ${OSGEO4W_BIN_DIR}/las2oci.exe  )
 
117
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/las2txt.exe ${OSGEO4W_BIN_DIR}/las2txt.exe  )
 
118
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/las2txt-old.exe ${OSGEO4W_BIN_DIR}/las2txt-old.exe   )
 
119
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/lasblock.exe ${OSGEO4W_BIN_DIR}/lasblock.exe   )
 
120
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/lasmerge.exe ${OSGEO4W_BIN_DIR}/lasmerge.exe  )
 
121
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/txt2las.exe ${OSGEO4W_BIN_DIR}/txt2las.exe  )
 
122
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/ts2las.exe ${OSGEO4W_BIN_DIR}/ts2las.exe  )
 
123
 
 
124
 
 
125
 
 
126
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/liblas_c.dll ${OSGEO4W_BIN_DIR}/  )
 
127
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/liblas.dll ${OSGEO4W_BIN_DIR}/  )
 
128
 
 
129
copy_files(${libLAS_SOURCE_DIR}/liblas-osgeo4w-start.bat.tmpl ${OSGEO4W_BIN_DIR}/liblas.bat.tmpl )
 
130
copy_files(${libLAS_SOURCE_DIR}/liblas-osgeo4w-init.bat ${OSGEO4W_ETC_INI_DIR}/liblas.bat )
 
131
copy_files(${libLAS_SOURCE_DIR}/liblas-osgeo4w-postinstall.bat ${OSGEO4W_ETC_POSTINSTALL_DIR}/liblas.bat )
 
132
 
 
133
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/liblas.lib ${OSGEO4W_DEVEL_LIB_DIR}/  )
 
134
copy_files(${LIBLAS_BUILD_OUTPUT_DIRECTORY}/liblas_c.lib ${OSGEO4W_DEVEL_LIB_DIR}/  )
 
135
 
 
136
 
 
137
copy_directory(./include/liblas/ ${OSGEO4W_DEVEL_INCLUDE_LIBLAS_DIR}/  )
 
138
copy_files(./python/liblas/*.py ${OSGEO4W_PYTHON_DIR}/  )
 
139
 
 
140
tar_directories(${OSGEO4W_DIR} ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-${LIBLAS_VERSION_MAJOR}.${LIBLAS_VERSION_MINOR}.${LIBLAS_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 "bin/;etc/")
 
141
tar_directories(${OSGEO4W_DIR} ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-python-${LIBLAS_VERSION_MAJOR}.${LIBLAS_VERSION_MINOR}.${LIBLAS_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 apps)
 
142
tar_directories(${OSGEO4W_DIR}/devel ${libLAS_SOURCE_DIR}/${OSGEO4W_PACKAGES}/liblas-devel-${LIBLAS_VERSION_MAJOR}.${LIBLAS_VERSION_MINOR}.${LIBLAS_VERSION_PATCH}-${OSGEO4W_UPSTREAM_RELEASE}.tar.bz2 "lib/;include")
 
143
 
 
144
 
 
145
add_custom_target(osgeo4w
 
146
    COMMAND ${CMAKE_COMMAND} -E echo "Making OSGeo4W build")
 
147
 
 
148
add_dependencies( osgeo4w tar   )
 
149
 
 
150
 
 
151
 
 
152