Changeset 1602:f0e1f6d60520
- Timestamp:
- 03/02/10 12:24:48 (5 months ago)
- Branch:
- default
- Files:
-
- 4 edited
-
CMakeLists.txt (modified) (3 diffs)
-
apps/CMakeLists.txt (modified) (4 diffs)
-
src/CMakeLists.txt (modified) (3 diffs)
-
test/CMakeLists.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
CMakeLists.txt
r1483 r1602 11 11 ############################################################################### 12 12 # libLAS general settings 13 PROJECT(libLAS)13 project(libLAS) 14 14 15 15 # Name of C++ library 16 SET(LIBLAS_LIB_NAME las)16 set(LIBLAS_LIB_NAME las) 17 17 18 18 # Name of C library 19 SET(LIBLAS_C_LIB_NAME las_c)19 set(LIBLAS_C_LIB_NAME las_c) 20 20 21 21 # Name of test suite runner 22 SET(LIBLAS_UNIT_TEST liblas_test)22 set(LIBLAS_UNIT_TEST liblas_test) 23 23 24 24 # Choose package components 25 SET(WITH_UTILITIES TRUE CACHE BOOL "Choose if libLAS utilities should be built")26 SET(WITH_TESTS FALSE CACHE BOOL "Choose if libLAS unit tests should be built")25 set(WITH_UTILITIES TRUE CACHE BOOL "Choose if libLAS utilities should be built") 26 set(WITH_TESTS FALSE CACHE BOOL "Choose if libLAS unit tests should be built") 27 27 28 28 # Enable CTest and submissions to libLAS dashboard at CDash 29 29 # http://my.cdash.org/index.php?project=libLAS 30 SET(ENABLE_CTEST FALSE CACHE BOOL30 set(ENABLE_CTEST FALSE CACHE BOOL 31 31 "Enable CTest to support submissions of results to CDash at http://cdash.org") 32 32 33 33 ############################################################################### 34 34 # CMake settings 35 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)36 37 SET(CMAKE_COLOR_MAKEFILE ON)35 cmake_minimum_required(VERSION 2.6.0) 36 37 set(CMAKE_COLOR_MAKEFILE ON) 38 38 39 39 # Allow advanced users to generate Makefiles printing detailed commands 40 MARK_AS_ADVANCED(CMAKE_VERBOSE_MAKEFILE)40 mark_as_advanced(CMAKE_VERBOSE_MAKEFILE) 41 41 42 42 # Path to additional CMake modules 43 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/build/cmake ${CMAKE_MODULE_PATH})43 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/build/cmake ${CMAKE_MODULE_PATH}) 44 44 45 45 ############################################################################### 46 46 # General build settings 47 47 48 IF(NOT CMAKE_BUILD_TYPE)49 SET(CMAKE_BUILD_TYPE Debug CACHE STRING48 if(NOT CMAKE_BUILD_TYPE) 49 set(CMAKE_BUILD_TYPE Debug CACHE STRING 50 50 "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel" 51 51 FORCE) 52 ENDIF()53 54 SET(BUILD_PEDANTIC TRUE CACHE BOOL "Choose compilation in pedantic or relaxed mode")52 endif() 53 54 set(BUILD_PEDANTIC TRUE CACHE BOOL "Choose compilation in pedantic or relaxed mode") 55 55 56 56 # TODO: Still testing the output paths --mloskot 57 SET(LIBLAS_BUILD_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})57 set(LIBLAS_BUILD_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}) 58 58 59 59 # Output directory in which to build RUNTIME target files. 60 SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY})60 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY}) 61 61 62 62 # Output directory in which to build LIBRARY target files 63 SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY})63 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY}) 64 64 65 65 # Output directory in which to build ARCHIVE target files. 66 SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY})66 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY}) 67 67 68 68 ############################################################################### 69 69 # Platform and compiler specific settings 70 70 71 IF(WIN32)72 IF(MSVC)73 IF(BUILD_PEDANTIC)74 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")75 ENDIF()76 77 IF(MSVC80 OR MSVC90 OR MSVC10)78 ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)79 ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_WARNING)80 ENDIF()71 if(WIN32) 72 if (MSVC) 73 if(BUILD_PEDANTIC) 74 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") 75 endif() 76 77 if (MSVC80 OR MSVC90 OR MSVC10) 78 add_definitions(-D_CRT_SECURE_NO_WARNINGS) 79 add_definitions(-D_CRT_NONSTDC_NO_WARNING) 80 endif() 81 81 82 82 # Generate dot-user file with user-specific settings for Visual Studio project 83 SET(MSVC_ENVIRONMENT_PATH "" CACHE STRING83 set(MSVC_ENVIRONMENT_PATH "" CACHE STRING 84 84 "Custom PATH for Environment property in Visual Studio project configuration") 85 MARK_AS_ADVANCED(MSVC_ENVIRONMENT_PATH)86 SET(VCPROJ_USER_ENVIRONMENT_PATH_DEBUG "${ENVIRONMENT_PATH}")87 MARK_AS_ADVANCED(VCPROJ_USER_ENVIRONMENT_PATH_DEBUG)88 89 ENDIF()90 ELSE()91 IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)85 mark_as_advanced(MSVC_ENVIRONMENT_PATH) 86 set(VCPROJ_USER_ENVIRONMENT_PATH_DEBUG "${ENVIRONMENT_PATH}") 87 mark_as_advanced(VCPROJ_USER_ENVIRONMENT_PATH_DEBUG) 88 89 endif() 90 else() 91 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) 92 92 93 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wno-long-long -ansi")94 95 IF(BUILD_PEDANTIC)96 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")97 ENDIF()93 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wno-long-long -ansi") 94 95 if(BUILD_PEDANTIC) 96 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic") 97 endif() 98 98 99 IF(CMAKE_COMPILER_IS_GNUCXX)100 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98")101 ENDIF()102 ENDIF()103 ENDIF(WIN32)99 if (CMAKE_COMPILER_IS_GNUCXX) 100 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98") 101 endif() 102 endif() 103 endif(WIN32) 104 104 105 105 ############################################################################### … … 107 107 108 108 # Boost C++ Libraries support - optional, default=OFF 109 SET(WITH_BOOST FALSE CACHE BOOL "Choose if Boost C++ Libraries support should be built")109 set(WITH_BOOST FALSE CACHE BOOL "Choose if Boost C++ Libraries support should be built") 110 110 111 111 # TODO: Decide minimum required version of Boost. Is 1.38 OK? --mloskot 112 IF(WITH_BOOST)113 FIND_PACKAGE(Boost 1.35 REQUIRED iostreams)114 115 IF(Boost_FOUND AND Boost_iostreams_FOUND)116 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})117 ENDIF()118 ENDIF()112 if(WITH_BOOST) 113 find_package(Boost 1.35 REQUIRED iostreams) 114 115 if(Boost_FOUND AND Boost_iostreams_FOUND) 116 include_directories(${Boost_INCLUDE_DIRS}) 117 endif() 118 endif() 119 119 120 120 # zlib support - optional, default=OFF 121 SET(WITH_ZLIB FALSE CACHE BOOL "Choose if zlib support should be built")122 123 IF(WITH_ZLIB)124 FIND_PACKAGE(ZLIB)125 126 IF(ZLIB_FOUND)127 INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})128 ADD_DEFINITIONS(-DHAVE_ZLIB=1)129 ENDIF()130 ENDIF()121 set(WITH_ZLIB FALSE CACHE BOOL "Choose if zlib support should be built") 122 123 if(WITH_ZLIB) 124 find_package(ZLIB) 125 126 if(ZLIB_FOUND) 127 include_directories(${ZLIB_INCLUDE_DIR}) 128 add_definitions(-DHAVE_ZLIB=1) 129 endif() 130 endif() 131 131 132 132 # GeoTIFF support - optional, default=OFF 133 SET(WITH_GEOTIFF FALSE CACHE BOOL "Choose if GeoTIFF support should be built")134 135 IF(WITH_GEOTIFF)136 FIND_PACKAGE(GeoTIFF 1.2.5)137 138 IF(GEOTIFF_FOUND)133 set(WITH_GEOTIFF FALSE CACHE BOOL "Choose if GeoTIFF support should be built") 134 135 if(WITH_GEOTIFF) 136 find_package(GeoTIFF 1.2.5) 137 138 if(GEOTIFF_FOUND) 139 139 140 140 # Confirm required API is available 141 INCLUDE(CheckFunctionExists)142 SET(CMAKE_REQUIRED_LIBRARIES ${GEOTIFF_LIBRARY})143 CHECK_FUNCTION_EXISTS(ST_Create HAVE_ST_CREATE)141 include(CheckFunctionExists) 142 set(CMAKE_REQUIRED_LIBRARIES ${GEOTIFF_LIBRARY}) 143 check_function_exists(ST_Create HAVE_ST_CREATE) 144 144 145 IF(NOT HAVE_ST_CREATE)146 SET(GEOTIFF_FOUND) # Reset to NOT found for GeoTIFF147 MESSAGE(FATAL_ERROR "GeoTIFF support requires libgeotiff 1.2.5 or newer.")148 ELSE()149 INCLUDE_DIRECTORIES(${GEOTIFF_INCLUDE_DIR})150 ADD_DEFINITIONS(-DHAVE_LIBGEOTIFF=1)151 ENDIF()152 ENDIF()153 ENDIF()145 if(NOT HAVE_ST_CREATE) 146 set(GEOTIFF_FOUND) # Reset to NOT found for GeoTIFF 147 message(FATAL_ERROR "GeoTIFF support requires libgeotiff 1.2.5 or newer.") 148 else() 149 include_directories(${GEOTIFF_INCLUDE_DIR}) 150 add_definitions(-DHAVE_LIBGEOTIFF=1) 151 endif() 152 endif() 153 endif() 154 154 155 155 # GDAL/OGR support - optional, default=OFF 156 SET(WITH_GDAL FALSE CACHE BOOL "Choose if GDAL support should be built")157 158 IF(WITH_GDAL)159 IF(NOT GEOTIFF_FOUND)160 MESSAGE(FATAL_ERROR "GDAL support requires GeoTIFF library which was not selected")161 ENDIF()162 163 FIND_PACKAGE(GDAL 1.6.0)164 165 IF(GDAL_FOUND)156 set(WITH_GDAL FALSE CACHE BOOL "Choose if GDAL support should be built") 157 158 if(WITH_GDAL) 159 if (NOT GEOTIFF_FOUND) 160 message(FATAL_ERROR "GDAL support requires GeoTIFF library which was not selected") 161 endif() 162 163 find_package(GDAL 1.6.0) 164 165 if(GDAL_FOUND) 166 166 # Confirm required API is available 167 INCLUDE(CheckFunctionExists)168 SET(CMAKE_REQUIRED_LIBRARIES ${GDAL_LIBRARY})169 CHECK_FUNCTION_EXISTS(OSRSetEquirectangular2 HAVE_OSRSETEQUIRECTANGULAR2)167 include(CheckFunctionExists) 168 set(CMAKE_REQUIRED_LIBRARIES ${GDAL_LIBRARY}) 169 check_function_exists(OSRSetEquirectangular2 HAVE_OSRSETEQUIRECTANGULAR2) 170 170 171 IF(NOT HAVE_OSRSETEQUIRECTANGULAR2)171 if(NOT HAVE_OSRSETEQUIRECTANGULAR2) 172 172 # Reset to NOT found for GDAL/OGR 173 SET(GDAL_FOUND)174 MESSAGE(FATAL_ERROR "GDAL support requires GDAL 1.6.0 or newer")175 ELSE()176 INCLUDE_DIRECTORIES(${GDAL_INCLUDE_DIR})177 ADD_DEFINITIONS(-DHAVE_GDAL=1)178 ENDIF()179 ENDIF()180 ENDIF()173 set(GDAL_FOUND) 174 message(FATAL_ERROR "GDAL support requires GDAL 1.6.0 or newer") 175 else() 176 include_directories(${GDAL_INCLUDE_DIR}) 177 add_definitions(-DHAVE_GDAL=1) 178 endif() 179 endif() 180 endif() 181 181 182 182 # Spatial Index support - optional, default=OFF 183 SET(WITH_SPATIALINDEX FALSE CACHE BOOL "Choose if SpatialIndex support should be built")184 185 IF(WITH_SPATIALINDEX)186 FIND_PACKAGE(SpatialIndex 1.4.0)187 188 IF(SPATIALINDEX_FOUND)189 INCLUDE_DIRECTORIES(${SPATIALINDEX_INCLUDE_DIR})190 IF(IS_DIRECTORY ${SPATIALINDEX_INCLUDE_DIR}/spatialindex)191 INCLUDE_DIRECTORIES(${SPATIALINDEX_INCLUDE_DIR}/spatialindex)192 ENDIF()193 ADD_DEFINITIONS(-DHAVE_SPATIALINDEX=1)194 ENDIF()195 ENDIF()183 set(WITH_SPATIALINDEX FALSE CACHE BOOL "Choose if SpatialIndex support should be built") 184 185 if(WITH_SPATIALINDEX) 186 find_package(SpatialIndex 1.4.0) 187 188 if(SPATIALINDEX_FOUND) 189 include_directories(${SPATIALINDEX_INCLUDE_DIR}) 190 if (IS_DIRECTORY ${SPATIALINDEX_INCLUDE_DIR}/spatialindex) 191 include_directories(${SPATIALINDEX_INCLUDE_DIR}/spatialindex) 192 endif() 193 add_definitions(-DHAVE_SPATIALINDEX=1) 194 endif() 195 endif() 196 196 197 197 # Oracle support - optional, default=OFF 198 SET(WITH_ORACLE FALSE CACHE BOOL "Choose if Oracle support should be built")199 200 IF(WITH_ORACLE)201 FIND_PACKAGE(Oracle)202 203 IF(ORACLE_FOUND)204 INCLUDE_DIRECTORIES(${ORACLE_INCLUDE_DIR})205 ADD_DEFINITIONS(-DHAVE_ORACLE=1)206 ENDIF()207 ENDIF()198 set(WITH_ORACLE FALSE CACHE BOOL "Choose if Oracle support should be built") 199 200 if(WITH_ORACLE) 201 find_package(Oracle) 202 203 if(ORACLE_FOUND) 204 include_directories(${ORACLE_INCLUDE_DIR}) 205 add_definitions(-DHAVE_ORACLE=1) 206 endif() 207 endif() 208 208 209 209 ############################################################################### 210 210 # Installation settings 211 211 212 IF(WIN32)213 SET(DEFAULT_LIB_SUBDIR lib)214 SET(DEFAULT_DATA_SUBDIR .)215 SET(DEFAULT_INCLUDE_SUBDIR include)216 217 IF(MSVC)218 SET(DEFAULT_BIN_SUBDIR bin)219 ELSE()220 SET(DEFAULT_BIN_SUBDIR .)221 ENDIF()222 ELSE()212 if(WIN32) 213 set(DEFAULT_LIB_SUBDIR lib) 214 set(DEFAULT_DATA_SUBDIR .) 215 set(DEFAULT_INCLUDE_SUBDIR include) 216 217 if (MSVC) 218 set(DEFAULT_BIN_SUBDIR bin) 219 else() 220 set(DEFAULT_BIN_SUBDIR .) 221 endif() 222 else() 223 223 # Common locatoins for Unix and Mac OS X 224 SET(DEFAULT_BIN_SUBDIR bin)225 SET(DEFAULT_LIB_SUBDIR lib)226 SET(DEFAULT_DATA_SUBDIR share/liblas)227 SET(DEFAULT_INCLUDE_SUBDIR include)228 ENDIF()224 set(DEFAULT_BIN_SUBDIR bin) 225 set(DEFAULT_LIB_SUBDIR lib) 226 set(DEFAULT_DATA_SUBDIR share/liblas) 227 set(DEFAULT_INCLUDE_SUBDIR include) 228 endif() 229 229 230 230 # Locations are changeable by user to customize layout of libLAS installation 231 231 # (default values are platform-specific) 232 SET(LIBLAS_BIN_SUBDIR ${DEFAULT_BIN_SUBDIR} CACHE STRING232 set(LIBLAS_BIN_SUBDIR ${DEFAULT_BIN_SUBDIR} CACHE STRING 233 233 "Subdirectory where executables will be installed") 234 SET(LIBLAS_LIB_SUBDIR ${DEFAULT_LIB_SUBDIR} CACHE STRING234 set(LIBLAS_LIB_SUBDIR ${DEFAULT_LIB_SUBDIR} CACHE STRING 235 235 "Subdirectory where libraries will be installed") 236 SET(LIBLAS_INCLUDE_SUBDIR ${DEFAULT_INCLUDE_SUBDIR} CACHE STRING236 set(LIBLAS_INCLUDE_SUBDIR ${DEFAULT_INCLUDE_SUBDIR} CACHE STRING 237 237 "Subdirectory where header files will be installed") 238 SET(LIBLAS_DATA_SUBDIR ${DEFAULT_DATA_SUBDIR} CACHE STRING238 set(LIBLAS_DATA_SUBDIR ${DEFAULT_DATA_SUBDIR} CACHE STRING 239 239 "Subdirectory where data will be installed") 240 240 241 241 # Mark *_SUBDIR variables as advanced and dedicated to use by power-users only. 242 MARK_AS_ADVANCED(LIBLAS_BIN_SUBDIR LIBLAS_LIB_SUBDIR LIBLAS_INCLUDE_SUBDIR LIBLAS_DATA_SUBDIR)242 mark_as_advanced(LIBLAS_BIN_SUBDIR LIBLAS_LIB_SUBDIR LIBLAS_INCLUDE_SUBDIR LIBLAS_DATA_SUBDIR) 243 243 244 244 # Full paths for the installation 245 SET(LIBLAS_BIN_DIR ${LIBLAS_BIN_SUBDIR})246 SET(LIBLAS_LIB_DIR ${LIBLAS_LIB_SUBDIR})247 SET(LIBLAS_INCLUDE_DIR ${LIBLAS_INCLUDE_SUBDIR})248 SET(LIBLAS_DATA_DIR ${LIBLAS_DATA_SUBDIR})245 set(LIBLAS_BIN_DIR ${LIBLAS_BIN_SUBDIR}) 246 set(LIBLAS_LIB_DIR ${LIBLAS_LIB_SUBDIR}) 247 set(LIBLAS_INCLUDE_DIR ${LIBLAS_INCLUDE_SUBDIR}) 248 set(LIBLAS_DATA_DIR ${LIBLAS_DATA_SUBDIR}) 249 249 250 250 ############################################################################### 251 251 # Installation commands 252 252 253 INSTALL(FILES AUTHORS ChangeLog COPYING INSTALL LICENSE.txt README253 install(FILES AUTHORS ChangeLog COPYING INSTALL LICENSE.txt README 254 254 DESTINATION ${LIBLAS_DATA_DIR}/doc) 255 255 … … 257 257 # Processing of project directories 258 258 259 ADD_SUBDIRECTORY(src)260 261 IF(WITH_UTILITIES)262 MESSAGE(STATUS "Enable libLAS utilities to build - done")263 ADD_SUBDIRECTORY(apps)264 ENDIF()265 266 IF(WITH_TESTS)267 MESSAGE(STATUS "Enable libLAS unit tests to build - done")268 ENABLE_TESTING()269 270 271 IF(ENABLE_CTEST)272 MESSAGE(STATUS "Enable CTest to support submissions of results to CDash at http://cdash.org")273 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)259 add_subdirectory(src) 260 261 if(WITH_UTILITIES) 262 message(STATUS "Enable libLAS utilities to build - done") 263 add_subdirectory(apps) 264 endif() 265 266 if(WITH_TESTS) 267 message(STATUS "Enable libLAS unit tests to build - done") 268 enable_testing() 269 270 271 if(ENABLE_CTEST) 272 message(STATUS "Enable CTest to support submissions of results to CDash at http://cdash.org") 273 cmake_minimum_required(VERSION 2.8.0) 274 274 # Dashboard has been prepared for experiments 275 275 # http://my.cdash.org/index.php?project=libLAS 276 INCLUDE(CTest) 277 MESSAGE(STATUS "Enable CTest to support submissions of results to CDash at http://cdash.org - done") 278 ENDIF() 279 280 ADD_SUBDIRECTORY(test) 281 ELSE() 282 IF(ENABLE_CTEST) 283 MESSAGE(WARNING "CTest support requested but WITH_TESTS option not specified to build of libLAS unit tests") 284 ENDIF() 285 ENDIF() 286 287 # EOF 276 include(CTest) 277 message(STATUS "Enable CTest to support submissions of results to CDash at http://cdash.org - done") 278 endif() 279 280 add_subdirectory(test) 281 else() 282 if(ENABLE_CTEST) 283 message(WARNING "CTest support requested but WITH_TESTS option not specified to build of libLAS unit tests") 284 endif() 285 endif() -
apps/CMakeLists.txt
r1482 r1602 7 7 ############################################################################### 8 8 9 INCLUDE_DIRECTORIES(9 include_directories( 10 10 . 11 11 ../include … … 15 15 # Collect programs to build 16 16 17 SET(LASINFO lasinfo)18 SET(LASMERGE lasmerge)19 SET(LAS2LAS las2las)20 SET(LAS2TXT las2txt)21 SET(TXT2LAS txt2las)17 set(LASINFO lasinfo) 18 set(LASMERGE lasmerge) 19 set(LAS2LAS las2las) 20 set(LAS2TXT las2txt) 21 set(TXT2LAS txt2las) 22 22 23 23 # Utilities depending on 3rd-pary libraries 24 IF(GDAL_FOUND)25 SET(LAS2OGR las2ogr)26 ENDIF()24 if(GDAL_FOUND) 25 set(LAS2OGR las2ogr) 26 endif() 27 27 28 IF(SPATIALINDEX_FOUND)29 SET(LASINDEX lasindex)30 ENDIF()28 if(SPATIALINDEX_FOUND) 29 set(LASINDEX lasindex) 30 endif() 31 31 32 IF(ORACLE_FOUND AND GDAL_FOUND)33 SET(LAS2OCI las2oci)34 ENDIF()32 if(ORACLE_FOUND AND GDAL_FOUND) 33 set(LAS2OCI las2oci) 34 endif() 35 35 36 SET(LIBLAS_UTILITIES36 set(LIBLAS_UTILITIES 37 37 ${LASINFO} ${LASMERGE} ${LAS2LAS} ${LAS2TXT} ${TXT2LAS} 38 38 ${LAS2OGR} ${LASINDEX} ${LAS2OCI}) … … 40 40 # TODO: Experimental and requires testing --mloskot 41 41 # Generate user-specific settings for Visual Studio project 42 SET(VCPROJ_USER_REMOTE_MACHINE_DEBUG ${MACHINE_NAME})43 SET(VCPROJ_USER_ENVIRONMENT_DEBUG "${ENVIRONMENT_PATH}")42 set(VCPROJ_USER_REMOTE_MACHINE_DEBUG ${MACHINE_NAME}) 43 set(VCPROJ_USER_ENVIRONMENT_DEBUG "${ENVIRONMENT_PATH}") 44 44 45 IF(MSVC)46 FOREACH(utility ${LIBLAS_UTILITIES})47 SET(USER_FILE ${utility}.vcproj.$ENV{USERDOMAIN}.$ENV{USERNAME}.user)48 SET(OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/${USER_FILE})49 MESSAGE(STATUS "Generating ${CMAKE_GENERATOR} user-specific settings in ${USER_FILE}")50 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/build/cmake/libLAS.vcproj.user.template ${OUTPUT_PATH} @ONLY)51 ENDFOREACH()52 ENDIF()45 if(MSVC) 46 foreach(utility ${LIBLAS_UTILITIES}) 47 set(USER_FILE ${utility}.vcproj.$ENV{USERDOMAIN}.$ENV{USERNAME}.user) 48 set(OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/${USER_FILE}) 49 message(STATUS "Generating ${CMAKE_GENERATOR} user-specific settings in ${USER_FILE}") 50 configure_file(${CMAKE_SOURCE_DIR}/build/cmake/libLAS.vcproj.user.template ${OUTPUT_PATH} @ONLY) 51 endforeach() 52 endif() 53 53 54 54 ############################################################################### 55 55 # Configure build targets 56 56 57 SET(APPS_CPP_DEPENDENCIES57 set(APPS_CPP_DEPENDENCIES 58 58 ${LIBLAS_LIB_NAME} 59 59 ${ZLIB_LIBRARY} … … 64 64 65 65 # Build lasinfo 66 IF(LASINFO)67 SET(LASINFO_SRC lascommon.c ${LASINFO}.c)68 ADD_EXECUTABLE(${LASINFO} ${LASINFO_SRC})69 TARGET_LINK_LIBRARIES(${LASINFO} ${LIBLAS_C_LIB_NAME})70 ENDIF()66 if(LASINFO) 67 set(LASINFO_SRC lascommon.c ${LASINFO}.c) 68 add_executable(${LASINFO} ${LASINFO_SRC}) 69 target_link_libraries(${LASINFO} ${LIBLAS_C_LIB_NAME}) 70 endif() 71 71 72 72 # Build las2las 73 IF(LAS2LAS)74 SET(LAS2LAS_SRC lascommon.c ${LAS2LAS}.c)75 ADD_EXECUTABLE(${LAS2LAS} ${LAS2LAS_SRC})76 TARGET_LINK_LIBRARIES(${LAS2LAS} ${LIBLAS_C_LIB_NAME})77 ENDIF()73 if(LAS2LAS) 74 set(LAS2LAS_SRC lascommon.c ${LAS2LAS}.c) 75 add_executable(${LAS2LAS} ${LAS2LAS_SRC}) 76 target_link_libraries(${LAS2LAS} ${LIBLAS_C_LIB_NAME}) 77 endif() 78 78 79 79 # Build las2txt 80 IF(LAS2TXT)81 SET(LAS2TXT_SRC lascommon.c ${LAS2TXT}.c)82 ADD_EXECUTABLE(${LAS2TXT} ${LAS2TXT_SRC})83 TARGET_LINK_LIBRARIES(${LAS2TXT} ${LIBLAS_C_LIB_NAME})84 ENDIF()80 if(LAS2TXT) 81 set(LAS2TXT_SRC lascommon.c ${LAS2TXT}.c) 82 add_executable(${LAS2TXT} ${LAS2TXT_SRC}) 83 target_link_libraries(${LAS2TXT} ${LIBLAS_C_LIB_NAME}) 84 endif() 85 85 86 86 # Build txt2las 87 IF(TXT2LAS)88 SET(TXT2LAS_SRC lascommon.c ${TXT2LAS}.c)89 ADD_EXECUTABLE(${TXT2LAS} ${TXT2LAS_SRC})90 TARGET_LINK_LIBRARIES(${TXT2LAS} ${LIBLAS_C_LIB_NAME})91 ENDIF()87 if(TXT2LAS) 88 set(TXT2LAS_SRC lascommon.c ${TXT2LAS}.c) 89 add_executable(${TXT2LAS} ${TXT2LAS_SRC}) 90 target_link_libraries(${TXT2LAS} ${LIBLAS_C_LIB_NAME}) 91 endif() 92 92 93 93 # Build lasmerge 94 IF(LASMERGE)95 SET(LASMERGE_SRC lascommon.c ${LASMERGE}.c)96 ADD_EXECUTABLE(${LASMERGE} ${LASMERGE_SRC})97 TARGET_LINK_LIBRARIES(${LASMERGE} ${LIBLAS_C_LIB_NAME})98 ENDIF()94 if(LASMERGE) 95 set(LASMERGE_SRC lascommon.c ${LASMERGE}.c) 96 add_executable(${LASMERGE} ${LASMERGE_SRC}) 97 target_link_libraries(${LASMERGE} ${LIBLAS_C_LIB_NAME}) 98 endif() 99 99 100 100 # Build lasindex 101 IF(LASINDEX)102 ADD_EXECUTABLE(${LASINDEX} lasindex.cpp)103 TARGET_LINK_LIBRARIES(${LASINDEX} ${APPS_CPP_DEPENDENCIES})104 ENDIF()101 if(LASINDEX) 102 add_executable(${LASINDEX} lasindex.cpp) 103 target_link_libraries(${LASINDEX} ${APPS_CPP_DEPENDENCIES}) 104 endif() 105 105 106 106 # Build las2ogr 107 IF(LAS2OGR)108 ADD_EXECUTABLE(${LAS2OGR} las2ogr.cpp)109 TARGET_LINK_LIBRARIES(${LAS2OGR} ${APPS_CPP_DEPENDENCIES})110 ENDIF()107 if(LAS2OGR) 108 add_executable(${LAS2OGR} las2ogr.cpp) 109 target_link_libraries(${LAS2OGR} ${APPS_CPP_DEPENDENCIES}) 110 endif() 111 111 112 112 # Build las2oci 113 IF(LAS2OCI)114 ADD_EXECUTABLE(${LAS2OCI} las2oci.cpp)115 TARGET_LINK_LIBRARIES(${LAS2OCI} ${APPS_CPP_DEPENDENCIES})116 ENDIF()113 if(LAS2OCI) 114 add_executable(${LAS2OCI} las2oci.cpp) 115 target_link_libraries(${LAS2OCI} ${APPS_CPP_DEPENDENCIES}) 116 endif() 117 117 118 118 ############################################################################### 119 119 # Targets installation 120 120 121 INSTALL(TARGETS ${LIBLAS_UTILITIES}121 install(TARGETS ${LIBLAS_UTILITIES} 122 122 RUNTIME DESTINATION ${LIBLAS_BIN_DIR} 123 123 LIBRARY DESTINATION ${LIBLAS_LIB_DIR} -
src/CMakeLists.txt
r1572 r1602 8 8 9 9 # Collect dependencies configuration 10 IF(GDAL_FOUND) 11 SET(LIBLAS_GDAL_CPP gt_citation.cpp gt_wkt_srs.cpp tifvsi.cpp) 12 ENDIF() 10 if(GDAL_FOUND) 11 set(LIBLAS_GDAL_CPP 12 gt_citation.cpp 13 gt_wkt_srs.cpp 14 tifvsi.cpp) 15 endif() 13 16 14 IF(SPATIALINDEX_FOUND)15 SET(LIBLAS_INDEX_CPP16 index/datastream.cpp17 index/index.cpp18 index/visitor.cpp19 index/query.cpp20 index/storage.cpp)21 ENDIF()17 if(SPATIALINDEX_FOUND) 18 set(LIBLAS_INDEX_CPP 19 index/datastream.cpp 20 index/index.cpp 21 index/query.cpp 22 index/storage.cpp 23 index/visitor.cpp) 24 endif() 22 25 23 26 ############################################################################### 24 27 # Source files specification 25 28 26 SET(LIBLAS_HEADERS_DIR ../include/liblas)29 set(LIBLAS_HEADERS_DIR ../include/liblas) 27 30 28 31 29 IF(SPATIALINDEX_FOUND)30 SET(LIBLAS_INDEX_HPP31 ${LIBLAS_HEADERS_DIR}/index/datastream.hpp32 ${LIBLAS_HEADERS_DIR}/index/index.hpp33 ${LIBLAS_HEADERS_DIR}/index/visitor.hpp34 ${LIBLAS_HEADERS_DIR}/index/query.hpp35 ${LIBLAS_HEADERS_DIR}/index/storage.hpp)36 ENDIF()32 if(SPATIALINDEX_FOUND) 33 set(LIBLAS_INDEX_HPP 34 ${LIBLAS_HEADERS_DIR}/index/datastream.hpp 35 ${LIBLAS_HEADERS_DIR}/index/index.hpp 36 ${LIBLAS_HEADERS_DIR}/index/query.hpp 37 ${LIBLAS_HEADERS_DIR}/index/storage.hpp 38 ${LIBLAS_HEADERS_DIR}/index/visitor.hpp) 39 endif() 37 40 38 SET(LIBLAS_HPP 39 ${LIBLAS_HEADERS_DIR}/cstdint.hpp 40 ${LIBLAS_HEADERS_DIR}/exception.hpp 41 ${LIBLAS_HEADERS_DIR}/guid.hpp 42 ${LIBLAS_HEADERS_DIR}/interfaces.hpp 43 ${LIBLAS_HEADERS_DIR}/iterator.hpp 44 ${LIBLAS_HEADERS_DIR}/lasclassification.hpp 45 ${LIBLAS_HEADERS_DIR}/lascolor.hpp 46 ${LIBLAS_HEADERS_DIR}/laserror.hpp 47 ${LIBLAS_HEADERS_DIR}/lasformat.hpp 48 ${LIBLAS_HEADERS_DIR}/lasheader.hpp 49 ${LIBLAS_HEADERS_DIR}/laspoint.hpp 50 ${LIBLAS_HEADERS_DIR}/lasreader.hpp 51 ${LIBLAS_HEADERS_DIR}/lasspatialreference.hpp 52 ${LIBLAS_HEADERS_DIR}/lasvariablerecord.hpp 53 ${LIBLAS_HEADERS_DIR}/lasversion.hpp 54 ${LIBLAS_HEADERS_DIR}/laswriter.hpp 55 ${LIBLAS_HEADERS_DIR}/liblas.hpp) 41 set(LIBLAS_HPP 42 ${LIBLAS_HEADERS_DIR}/cstdint.hpp 43 ${LIBLAS_HEADERS_DIR}/exception.hpp 44 ${LIBLAS_HEADERS_DIR}/guid.hpp 45 ${LIBLAS_HEADERS_DIR}/iterator.hpp 46 ${LIBLAS_HEADERS_DIR}/lasclassification.hpp 47 ${LIBLAS_HEADERS_DIR}/lascolor.hpp 48 ${LIBLAS_HEADERS_DIR}/laserror.hpp 49 ${LIBLAS_HEADERS_DIR}/lasformat.hpp 50 ${LIBLAS_HEADERS_DIR}/lasheader.hpp 51 ${LIBLAS_HEADERS_DIR}/laspoint.hpp 52 ${LIBLAS_HEADERS_DIR}/lasreader.hpp 53 ${LIBLAS_HEADERS_DIR}/lasspatialreference.hpp 54 ${LIBLAS_HEADERS_DIR}/lasvariablerecord.hpp 55 ${LIBLAS_HEADERS_DIR}/lasversion.hpp 56 ${LIBLAS_HEADERS_DIR}/laswriter.hpp 57 ${LIBLAS_HEADERS_DIR}/liblas.hpp) 56 58 57 SET(LIBLAS_DETAIL_HPP58 ${LIBLAS_HEADERS_DIR}/detail/endian.hpp59 ${LIBLAS_HEADERS_DIR}/detail/fwd.hpp60 ${LIBLAS_HEADERS_DIR}/detail/reader/reader.hpp61 ${LIBLAS_HEADERS_DIR}/detail/reader/header.hpp62 ${LIBLAS_HEADERS_DIR}/detail/reader/point.hpp63 ${LIBLAS_HEADERS_DIR}/detail/sha1.hpp64 ${LIBLAS_HEADERS_DIR}/detail/sharedptr.hpp65 ${LIBLAS_HEADERS_DIR}/detail/timer.hpp66 ${LIBLAS_HEADERS_DIR}/detail/utility.hpp67 ${LIBLAS_HEADERS_DIR}/detail/writer/writer.hpp68 ${LIBLAS_HEADERS_DIR}/detail/writer/base.hpp69 ${LIBLAS_HEADERS_DIR}/detail/writer/point.hpp70 ${LIBLAS_HEADERS_DIR}/detail/writer/header.hpp71 )59 set(LIBLAS_DETAIL_HPP 60 ${LIBLAS_HEADERS_DIR}/detail/endian.hpp 61 ${LIBLAS_HEADERS_DIR}/detail/fwd.hpp 62 ${LIBLAS_HEADERS_DIR}/detail/reader/reader.hpp 63 ${LIBLAS_HEADERS_DIR}/detail/reader/header.hpp 64 ${LIBLAS_HEADERS_DIR}/detail/reader/point.hpp 65 ${LIBLAS_HEADERS_DIR}/detail/sha1.hpp 66 ${LIBLAS_HEADERS_DIR}/detail/sharedptr.hpp 67 ${LIBLAS_HEADERS_DIR}/detail/timer.hpp 68 ${LIBLAS_HEADERS_DIR}/detail/utility.hpp 69 ${LIBLAS_HEADERS_DIR}/detail/writer/writer.hpp 70 ${LIBLAS_HEADERS_DIR}/detail/writer/base.hpp 71 ${LIBLAS_HEADERS_DIR}/detail/writer/point.hpp 72 ${LIBLAS_HEADERS_DIR}/detail/writer/header.hpp 73 ) 72 74 73 SET(LIBLAS_CPP74 lasclassification.cpp75 lascolor.cpp76 laserror.cpp77 lasformat.cpp78 lasheader.cpp79 laspoint.cpp80 lasreader.cpp81 lasspatialreference.cpp82 lasvariablerecord.cpp83 laswriter.cpp)75 set(LIBLAS_CPP 76 lasclassification.cpp 77 lascolor.cpp 78 laserror.cpp 79 lasformat.cpp 80 lasheader.cpp 81 laspoint.cpp 82 lasreader.cpp 83 lasspatialreference.cpp 84 lasvariablerecord.cpp 85 laswriter.cpp) 84 86 85 SET(LIBLAS_DETAIL_CPP86 detail/reader/reader.cpp87 detail/reader/point.cpp88 detail/reader/header.cpp89 detail/writer/writer.cpp90 detail/writer/base.cpp91 detail/writer/point.cpp92 detail/writer/header.cpp)87 set(LIBLAS_DETAIL_CPP 88 detail/reader/header.cpp 89 detail/reader/point.cpp 90 detail/reader/reader.cpp 91 detail/writer/base.cpp 92 detail/writer/header.cpp 93 detail/writer/point.cpp 94 detail/writer/writer.cpp) 93 95 94 SET(LIBLAS_SOURCES95 ${LIBLAS_HPP}96 ${LIBLAS_DETAIL_HPP}97 ${LIBLAS_INDEX_HPP}98 ${LIBLAS_CPP}99 ${LIBLAS_DETAIL_CPP}100 ${LIBLAS_INDEX_CPP}101 ${LIBLAS_GDAL_CPP})96 set(LIBLAS_SOURCES 97 ${LIBLAS_HPP} 98 ${LIBLAS_DETAIL_HPP} 99 ${LIBLAS_INDEX_HPP} 100 ${LIBLAS_CPP} 101 ${LIBLAS_DETAIL_CPP} 102 ${LIBLAS_INDEX_CPP} 103 ${LIBLAS_GDAL_CPP}) 102 104 103 SET(LIBLAS_C_SOURCES104 ${LIBLAS_HEADERS_DIR}/capi/las_config.h105 ${LIBLAS_HEADERS_DIR}/capi/las_version.h106 ${LIBLAS_HEADERS_DIR}/capi/liblas.h107 las_c_api.cpp)105 set(LIBLAS_C_SOURCES 106 ${LIBLAS_HEADERS_DIR}/capi/las_config.h 107 ${LIBLAS_HEADERS_DIR}/capi/las_version.h 108 ${LIBLAS_HEADERS_DIR}/capi/liblas.h 109 las_c_api.cpp) 108 110 109 SOURCE_GROUP("CMake Files" FILES CMakeLists.txt)110 SOURCE_GROUP("Header Files" FILES ${LIBLAS_HPP} ${LIBLAS_DETAIL_HPP})111 SOURCE_GROUP("Source Files" FILES ${LIBLAS_CPP} ${LIBLAS_DETAIL_CPP})111 source_group("CMake Files" FILES CMakeLists.txt) 112 source_group("Header Files" FILES ${LIBLAS_HPP} ${LIBLAS_DETAIL_HPP}) 113 source_group("Source Files" FILES ${LIBLAS_CPP} ${LIBLAS_DETAIL_CPP}) 112 114 113 115 # Diable Visual C++ language extensions when building libLAS library 114 IF(WIN32)115 IF(MSVC)116 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Za")117 ENDIF()118 ENDIF()116 if (WIN32) 117 if (MSVC) 118 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Za") 119 endif() 120 endif() 119 121 120 122 # Standard include directory of libLAS library 121 INCLUDE_DIRECTORIES(../include)123 include_directories(../include) 122 124 123 125 ############################################################################### … … 125 127 126 128 # Static libLAS C++ library 127 ADD_LIBRARY(${LIBLAS_LIB_NAME} STATIC ${LIBLAS_SOURCES})129 add_library(${LIBLAS_LIB_NAME} STATIC ${LIBLAS_SOURCES}) 128 130 129 131 # Shared libLAS C library 130 ADD_LIBRARY(${LIBLAS_C_LIB_NAME} SHARED ${LIBLAS_C_SOURCES})132 add_library(${LIBLAS_C_LIB_NAME} SHARED ${LIBLAS_C_SOURCES}) 131 133 132 TARGET_LINK_LIBRARIES(${LIBLAS_C_LIB_NAME}134 target_link_libraries(${LIBLAS_C_LIB_NAME} 133 135 ${LIBLAS_LIB_NAME} 134 136 ${ZLIB_LIBRARIES} … … 140 142 # Targets installation 141 143 142 INSTALL(TARGETS ${LIBLAS_LIB_NAME} ${LIBLAS_C_LIB_NAME}143 RUNTIME DESTINATION ${LIBLAS_BIN_DIR}144 LIBRARY DESTINATION ${LIBLAS_LIB_DIR}145 ARCHIVE DESTINATION ${LIBLAS_LIB_DIR})144 install(TARGETS ${LIBLAS_LIB_NAME} ${LIBLAS_C_LIB_NAME} 145 RUNTIME DESTINATION ${LIBLAS_BIN_DIR} 146 LIBRARY DESTINATION ${LIBLAS_LIB_DIR} 147 ARCHIVE DESTINATION ${LIBLAS_LIB_DIR}) 146 148 147 INSTALL(DIRECTORY ${LIBLAS_HEADERS_DIR}148 DESTINATION ${LIBLAS_INCLUDE_DIR}149 FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp")149 install(DIRECTORY ${LIBLAS_HEADERS_DIR} 150 DESTINATION ${LIBLAS_INCLUDE_DIR} 151 FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") -
test/CMakeLists.txt
r1330 r1602 6 6 # 7 7 ############################################################################### 8 SUBDIRS(unit)8 subdirs(unit)
Note: See TracChangeset
for help on using the changeset viewer.
