-
Notifications
You must be signed in to change notification settings - Fork 432
/
CMakeLists.txt
107 lines (84 loc) · 3.65 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#
# ./apps CMake configuration file for PDAL utilties
#
# (based originally on the libLAS files copyright Mateusz Loskot)
cmake_minimum_required(VERSION 2.8)
set(PDAL_SOURCE_DIR ../src)
#------------------------------------------------------------------------------
# includes
#------------------------------------------------------------------------------
include_directories(
.
../include
../util
${PROJECT_SOURCE_DIR}/io/faux
${PROJECT_SOURCE_DIR}/io/las
${PROJECT_SOURCE_DIR}/kernels
${PROJECT_SOURCE_DIR}/kernels/delta
${PROJECT_SOURCE_DIR}/kernels/diff
${PROJECT_SOURCE_DIR}/kernels/info
${PROJECT_SOURCE_DIR}/kernels/pipeline
${PROJECT_SOURCE_DIR}/kernels/random
${PROJECT_SOURCE_DIR}/kernels/sort
${PROJECT_SOURCE_DIR}/kernels/translate
)
#------------------------------------------------------------------------------
# Collect programs to build
#------------------------------------------------------------------------------
set(PDAL_UTILITY pdal)
#------------------------------------------------------------------------------
# Configure build targets
#------------------------------------------------------------------------------
link_directories(${Boost_LIBRARY_DIRS})
if(PDAL_UTILITY)
set(srcs pdal.cpp)
if(WIN32)
list(APPEND srcs ${PDAL_TARGET_OBJECTS})
endif()
list(APPEND PDAL_UTILITIES ${PDAL_UTILITY})
if (APPLE AND PDAL_BUNDLE)
add_executable(${PDAL_UTILITY} MACOSX_BUNDLE ${srcs})
else (APPLE AND PDAL_BUNDLE)
add_executable(${PDAL_UTILITY} ${srcs})
endif(APPLE AND PDAL_BUNDLE)
target_link_libraries(${PDAL_UTILITY} ${PDAL_BASE_LIB_NAME})
endif()
#------------------------------------------------------------------------------
# Targets installation
#------------------------------------------------------------------------------
if (APPLE AND PDAL_BUNDLE)
install(TARGETS ${PDAL_UTILITIES}
BUNDLE DESTINATION ${PDAL_BIN_INSTALL_DIR})
else(APPLE AND PDAL_BUNDLE)
install(TARGETS ${PDAL_UTILITIES}
RUNTIME DESTINATION ${PDAL_BIN_INSTALL_DIR})
endif(APPLE AND PDAL_BUNDLE)
if(UNIX OR APPLE)
set(PKGCONFIG_LIBRARY_DEFINITIONS "")
set(PDAL_INCLUDE_DEFINITIONS "-I${CMAKE_INSTALL_PREFIX}/include -I${Boost_INCLUDE_DIR} -I${GDAL_INCLUDE_DIR}")
set(PKGCONFIG_LIBRARY_DEFINITIONS "${PKGCONFIG_LIBRARY_DEFINITIONS} gdal")
if(LIBXML2_FOUND)
set(PKGCONFIG_LIBRARY_DEFINITIONS "${PKGCONFIG_LIBRARY_DEFINITIONS} libxml-2.0")
set(PDAL_INCLUDE_DEFINITIONS "${PDAL_INCLUDE_DEFINITIONS} -I${LIBXML2_INCLUDE_DIR}")
endif()
if (GEOS_FOUND)
set(PKGCONFIG_LIBRARY_DEFINITIONS "${PKGCONFIG_LIBRARY_DEFINITIONS} geos")
set(PDAL_INCLUDE_DEFINITIONS "${PDAL_INCLUDE_DEFINITIONS} -I${GEOS_INCLUDE_DIR}")
endif()
if (LASZIP_FOUND)
set(PDAL_INCLUDE_DEFINITIONS "${PDAL_INCLUDE_DEFINITIONS} -I${LASZIP_INCLUDE_DIR}")
endif()
file(MAKE_DIRECTORY "${PDAL_OUTPUT_LIB_DIR}/pkgconfig/")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pdal.pc.in
${CMAKE_CURRENT_BINARY_DIR}/pdal.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
# Autoconf compatibility variables to use the same script source.
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.in"
"${CMAKE_CURRENT_BINARY_DIR}/pdal-config" @ONLY)
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/pdal-config"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
PERMISSIONS
OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
endif()