1
###############################################################################
5
###############################################################################
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)
21
set(OSGEO4W_PYTHON_DIR ${OSGEO4W_DIR}/apps/python25/lib/site-packages/liblas)
22
set(OSGEO4W_PACKAGES ${OSGEO4W_DIR}/packages)
25
set(OSGEO4W_DIRECTORIES
28
${OSGEO4W_ETC_INI_DIR}
29
${OSGEO4W_ETC_POSTINSTALL_DIR}
31
${OSGEO4W_LIB_BIN_DIR}
33
${OSGEO4W_DEVEL_INCLUDE_DIR}
34
${OSGEO4W_DEVEL_INCLUDE_LIBLAS_DIR}
35
${OSGEO4W_DEVEL_LIB_DIR}
37
${OSGEO4W_DEVEL_BIN_DIR}
43
add_custom_target(make_osgeo4w_directories
44
COMMAND ${CMAKE_COMMAND} -E echo "Building OSGeo4W install directories")
46
foreach(utility ${LIBLAS_UTILITIES})
47
add_dependencies( make_osgeo4w_directories ${utility} )
51
macro (make_directories)
53
TARGET make_osgeo4w_directories
54
COMMAND ${CMAKE_COMMAND} -E remove_directory ${libLAS_SOURCE_DIR}/osgeo4w DEPENDS osgeo4w
56
foreach(directory ${OSGEO4W_DIRECTORIES})
58
STRING(REGEX REPLACE "/" "_" target "${directory}" )
61
TARGET make_osgeo4w_directories
62
COMMAND ${CMAKE_COMMAND} -E make_directory ${directory}
67
endmacro(make_directories)
71
add_custom_target(copy ALL COMMENT "Copying OSGeo4W files")
72
add_dependencies( copy make_osgeo4w_directories )
75
macro(copy_files GLOBPAT DESTINATION )
77
file(GLOB_RECURSE COPY_FILES
78
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
80
foreach(FILENAME ${COPY_FILES})
81
set(SRC "${FILENAME}")
82
set(DST "${DESTINATION}")
85
COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
91
macro(copy_directory SOURCE DESTINATION )
94
COMMAND ${CMAKE_COMMAND} -E copy_directory ${SOURCE} ${DESTINATION}
96
endmacro(copy_directory)
100
COMMAND ${CMAKE_COMMAND} -E echo "Tarring OSGeo4W install")
101
add_dependencies( tar copy )
103
macro (tar_directories source destination base_paths)
106
COMMAND ${CMAKE_COMMAND} -E chdir ${source} cmake -E tar cjf ${destination} ${base_paths}
108
endmacro(tar_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 )
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}/ )
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 )
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}/ )
137
copy_directory(./include/liblas/ ${OSGEO4W_DEVEL_INCLUDE_LIBLAS_DIR}/ )
138
copy_files(./python/liblas/*.py ${OSGEO4W_PYTHON_DIR}/ )
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")
145
add_custom_target(osgeo4w
146
COMMAND ${CMAKE_COMMAND} -E echo "Making OSGeo4W build")
148
add_dependencies( osgeo4w tar )