[Liblas-devel] FindLIBLAS.cmake

David Burken dburken at comcast.net
Tue Jan 25 11:58:29 EST 2011


Hi,

I could not find a cmake find script for liblas so I use an 
OpenSceneGraph one as a template and modified.

Only tested on linux.  I left the debug, release stuff in there in case 
it is of use.  In-lined below if you want.

Take care,
Dave

#---
# File: FindLIBLAS.cmake
#
# Find the native LIBLAS includes and library
#
#  LIBLAS_INCLUDE_DIRS - where to find liblas's includes.
#  LIBLAS_LIBRARIES    - List of libraries when using liblas.
#  LIBLAS_FOUND        - True if liblas found.
#---


# Set the include dir:
find_path(LIBLAS_INCLUDE_DIR liblas/liblas.hpp)

# Macro for setting libraries:
macro(FIND_LIBLAS_LIBRARY MYLIBRARY MYLIBRARYNAME)

   find_library(
     "${MYLIBRARY}_DEBUG"
     NAMES "${MYLIBRARYNAME}${CMAKE_DEBUG_POSTFIX}"
     PATHS
     ${LIBLAS_DIR}/lib/Debug
     ${LIBLAS_DIR}/lib64/Debug
     ${LIBLAS_DIR}/lib
     ${LIBLAS_DIR}/lib64
     $ENV{LIBLAS_DIR}/lib/debug
     $ENV{LIBLAS_DIR}/lib64/debug
     NO_DEFAULT_PATH
   )

   find_library(
     "${MYLIBRARY}_DEBUG"
     NAMES "${MYLIBRARYNAME}${CMAKE_DEBUG_POSTFIX}"
     PATHS
     ~/Library/Frameworks
     /Library/Frameworks
     /usr/local/lib
     /usr/local/lib64
     /usr/lib
     /usr/lib64
     /sw/lib
     /opt/local/lib
     /opt/csw/lib
     /opt/lib
     [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ 
Manager\\Environment;LIBLAS_ROOT]/lib
     /usr/freeware/lib64
   )

   find_library(
     ${MYLIBRARY}
     NAMES "${MYLIBRARYNAME}${CMAKE_RELEASE_POSTFIX}"
     PATHS
     ${LIBLAS_DIR}/lib/Release
     ${LIBLAS_DIR}/lib64/Release
     ${LIBLAS_DIR}/lib
     ${LIBLAS_DIR}/lib64
     $ENV{LIBLAS_DIR}/lib/Release
     $ENV{LIBLAS_DIR}/lib64/Release
     $ENV{LIBLAS_DIR}/lib
     $ENV{LIBLAS_DIR}/lib64
     $ENV{LIBLAS_DIR}
     $ENV{LIBLASDIR}/lib
     $ENV{LIBLASDIR}/lib64
     $ENV{LIBLASDIR}
     $ENV{LIBLAS_ROOT}/lib
     $ENV{LIBLAS_ROOT}/lib64
     NO_DEFAULT_PATH
   )

   find_library(
     ${MYLIBRARY}
     NAMES "${MYLIBRARYNAME}${CMAKE_RELEASE_POSTFIX}"
     PATHS
     ~/Library/Frameworks
     /Library/Frameworks
     /usr/local/lib
     /usr/local/lib64
     /usr/lib
     /usr/lib64
     /sw/lib
     /opt/local/lib
     /opt/csw/lib
     /opt/lib
     [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ 
Manager\\Environment;LIBLAS_ROOT]/lib
     /usr/freeware/lib64
   )

   if( NOT ${MYLIBRARY}_DEBUG )
     if( MYLIBRARY )
       set( ${MYLIBRARY}_DEBUG ${MYLIBRARY} )
     endif(MYLIBRARY)
   endif( NOT ${MYLIBRARY}_DEBUG )

endmacro(FIND_LIBLAS_LIBRARY LIBRARY LIBRARYNAME)

FIND_LIBLAS_LIBRARY(LIBLAS_LIBRARY las)
FIND_LIBLAS_LIBRARY(LIBLASC_LIBRARY las_c)

set(LIBLAS_FOUND "NO")
if(LIBLAS_LIBRARY AND LIBLASC_LIBRARY AND LIBLAS_INCLUDE_DIR)
   set(LIBLAS_LIBRARIES ${LIBLAS_LIBRARY} ${LIBLASC_LIBRARY} )
   set(LIBLAS_FOUND "YES")
endif(LIBLAS_LIBRARY AND LIBLASC_LIBRARY LIBLAS_INCLUDE_DIR)



More information about the Liblas-devel mailing list