[Geotiff] CMakeList.txt

Howard Butler hobu.inc at gmail.com
Thu Jun 16 14:16:13 EST 2011


Dave,

Can you file a patch in http://trac.osgeo.org/geotiff/ and assign it to 'hobu' and I'll take care of it.

Thanks,

Howard


On Jun 16, 2011, at 11:45 AM, David Burken wrote:

> Hi Everyone,
> 
> Very happy to see the addition of the CMakeList.txt to libgeotiff.  Just 
> some comments.  Please I'm not picking on anyone just trying to give 
> some useful feedback.  I really appreciate the addition.
> 
> This was a build from linux (Fedora flavor).
> 
> 1) Seems there is a file that is not under svn so the initial "make 
> install" was failing.
> 
> CMake Error at cmake_install.cmake:49 (FILE):
>   file INSTALL cannot find "/work/osgeo/libgeotiff/csv/codes.csv".
> 
> 2) My libraries went to bin on unix on a make.
> 
> 3) I typically install to some prefix so I usually set 
> "CMAKE_INSTALL_PREFIX" and rely on it putting things in bin, include, 
> lib, share, doc.  The way it was coded I could not override.  Or I 
> should say I couldn't figure it out without setting a bunch of variables 
> in my cmake command.
> 
> After a little tweaking I got a good "make install".
> 
> I hope this is useful to someone.  See below for more.  I can send my 
> CMakeList.txt if anyone would like.
> 
> Take care,
> Dave
> 
> 
> Here's my cmake out of source build script if anyone is interested.  
> Note all my other stuff, i.e. libtiff, proj4 was installed to 
> /work/osgeo/local sandbox.
> 
> //--------------
> #!/bin/sh
> # File: libgeotiff-cmake-config.sh
> build_dir="/work/osgeo";
> cmake -G "Unix Makefiles" \
> -DCMAKE_BUILD_TYPE=Release \
> -DCMAKE_INCLUDE_PATH=${build_dir}/local/include \
> -DCMAKE_INSTALL_PREFIX=${build_dir}/local \
> -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${build_dir}/local \
> -DCMAKE_LIBRARY_PATH=${build_dir}/local/lib \
> -DCMAKE_MODULE_PATH=${build_dir}/ossim_package_support/cmake/CMakeModules \
> ../../libgeotiff/
> //-------------
> 
> 
> Here's the patch to CMakeList.txt.  Note this has hard coded things in 
> it like "lib" that should be variables.  And probably should add version 
> to the library output for unix's...
> 
> //----------------
> --- CMakeLists.txt    (revision 2053)
> +++ CMakeLists.txt    (working copy)
> @@ -41,13 +41,16 @@
>  SET(GEOTIFF_BUILD_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
> 
>  # Output directory in which to build RUNTIME target files.
> -SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GEOTIFF_BUILD_OUTPUT_DIRECTORY})
> +# SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GEOTIFF_BUILD_OUTPUT_DIRECTORY})
> +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
> 
>  # Output directory in which to build LIBRARY target files
> -SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GEOTIFF_BUILD_OUTPUT_DIRECTORY})
> +# SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GEOTIFF_BUILD_OUTPUT_DIRECTORY})
> +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
> 
>  # Output directory in which to build ARCHIVE target files.
> -SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${GEOTIFF_BUILD_OUTPUT_DIRECTORY})
> +# SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${GEOTIFF_BUILD_OUTPUT_DIRECTORY})
> +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
> 
>  ###############################################################################
>  # Platform and compiler specific settings
> @@ -200,7 +203,6 @@
>      csv/alias.csv
>      csv/area.csv
>      csv/change.csv
> -    csv/codes.csv
>      csv/coordinate_axis.csv
>      csv/coordinate_axis_name.csv
>      csv/coordinate_operation.csv
> @@ -223,6 +225,7 @@
>      csv/stateplane.csv
>      csv/unit_of_measure.csv
>      csv/version_history.csv)
> +#    csv/codes.csv
> 
>  SET(GEOTIFF_LIB_HEADERS
>      geotiff.h
> @@ -247,6 +250,8 @@
>      epsg_vertcs.inc
>      geokeys.inc)
> 
> +
> +
>  IF(WIN32)
>      SET(DEFAULT_LIB_SUBDIR lib)
>      SET(DEFAULT_DATA_SUBDIR .)
> @@ -288,13 +293,16 @@
>  # Install doc files
>  INSTALL(FILES
>      AUTHORS ChangeLog COPYING INSTALL LICENSE README README_BIN README.WIN
> -    DESTINATION ${GEOTIFF_DATA_DIR}/doc)
> +    DESTINATION doc)
> +#    DESTINATION ${GEOTIFF_DATA_DIR}/doc)
> 
>  # Install CSV data files
> -INSTALL(FILES ${GEOTIFF_CSV_DATA} DESTINATION ${GEOTIFF_DATA_DIR}/epsg_csv)
> +# INSTALL(FILES ${GEOTIFF_CSV_DATA} DESTINATION 
> ${GEOTIFF_DATA_DIR}/epsg_csv)
> +INSTALL(FILES ${GEOTIFF_CSV_DATA} DESTINATION share/epsg_csv)
> 
>  # Install header files for development distribution
> -INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${GEOTIFF_INCLUDE_DIR})
> +# INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${GEOTIFF_INCLUDE_DIR})
> +INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION include)
> 
>  ###############################################################################
>  # Build libxtiff library
> @@ -348,7 +356,7 @@
>  ENDIF()
> 
>  SET_TARGET_PROPERTIES(${GEOTIFF_LIBRARY_TARGET} PROPERTIES
> -    OUTPUT_NAME ${GEOTIFF_LIB_NAME})
> +   OUTPUT_NAME ${GEOTIFF_LIB_NAME})
> 
>  TARGET_LINK_LIBRARIES(${GEOTIFF_LIBRARY_TARGET}
>      ${TIFF_LIBRARIES}
> @@ -356,11 +364,16 @@
>      ${ZLIB_LIBRARIES}
>      ${JPEG_LIBRARIES})
> 
> -INSTALL(TARGETS ${GEOTIFF_ARCHIVE_TARGET} ${GEOTIFF_LIBRARY_TARGET}
> -    RUNTIME DESTINATION ${GEOTIFF_BIN_DIR}
> -    LIBRARY DESTINATION ${GEOTIFF_LIB_DIR}
> -    ARCHIVE DESTINATION ${GEOTIFF_LIB_DIR})
> +# INSTALL(TARGETS ${GEOTIFF_ARCHIVE_TARGET} ${GEOTIFF_LIBRARY_TARGET}
> +#    RUNTIME DESTINATION ${GEOTIFF_BIN_DIR}
> +#   LIBRARY DESTINATION ${GEOTIFF_LIB_DIR}
> +#   ARCHIVE DESTINATION ${GEOTIFF_LIB_DIR})
> 
> +INSTALL( TARGETS ${GEOTIFF_ARCHIVE_TARGET} ${GEOTIFF_LIBRARY_TARGET}
> +     RUNTIME DESTINATION bin
> +         LIBRARY DESTINATION lib
> +     ARCHIVE DESTINATION lib )
> +
>  # Define grouping of source files in PROJECT file (e.g. Visual Studio)
>  SOURCE_GROUP("CMake Files" FILES CMakeLists.txt)
>  SOURCE_GROUP("Header Files" FILES ${GEOTIFF_LIB_HEADERS})
> //---------------------------------------
> 
> 
> Make install output:
> $ make install
> [ 42%] Built target geotiff_archive
> [ 85%] Built target geotiff_library
> [ 88%] Built target xtiff
> [ 91%] Built target applygeo
> [ 94%] Built target geotifcp
> [ 97%] Built target listgeo
> [100%] Built target makegeo
> Install the project...
> -- Install configuration: "Release"
> -- Installing: /work/osgeo/local/doc/AUTHORS
> -- Installing: /work/osgeo/local/doc/ChangeLog
> -- Installing: /work/osgeo/local/doc/COPYING
> -- Installing: /work/osgeo/local/doc/INSTALL
> -- Installing: /work/osgeo/local/doc/LICENSE
> -- Installing: /work/osgeo/local/doc/README
> -- Installing: /work/osgeo/local/doc/README_BIN
> -- Installing: /work/osgeo/local/doc/README.WIN
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/alias.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/area.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/change.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/coordinate_axis.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/coordinate_axis_name.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/coordinate_operation.csv
> -- Up-to-date: 
> /work/osgeo/local/share/epsg_csv/coordinate_operation_method.csv
> -- Up-to-date: 
> /work/osgeo/local/share/epsg_csv/coordinate_operation_parameter.csv
> -- Up-to-date: 
> /work/osgeo/local/share/epsg_csv/coordinate_operation_parameter_value.csv
> -- Up-to-date: 
> /work/osgeo/local/share/epsg_csv/coordinate_operation_path.csv
> -- Up-to-date: 
> /work/osgeo/local/share/epsg_csv/coordinate_reference_system.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/coordinate_system.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/datum.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/ellipsoid.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/esri_datum_override.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/gcs.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/gcs.override.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/naming_system.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/pcs.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/pcs.override.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/prime_meridian.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/projop_wparm.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/stateplane.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/unit_of_measure.csv
> -- Up-to-date: /work/osgeo/local/share/epsg_csv/version_history.csv
> -- Up-to-date: /work/osgeo/local/include/geotiff.h
> -- Up-to-date: /work/osgeo/local/include/geotiffio.h
> -- Up-to-date: /work/osgeo/local/include/geovalues.h
> -- Up-to-date: /work/osgeo/local/include/geonames.h
> -- Up-to-date: /work/osgeo/local/include/geokeys.h
> -- Up-to-date: /work/osgeo/local/include/geo_config.h
> -- Up-to-date: /work/osgeo/local/include/geo_tiffp.h
> -- Up-to-date: /work/osgeo/local/include/geo_keyp.h
> -- Up-to-date: /work/osgeo/local/include/geo_normalize.h
> -- Up-to-date: /work/osgeo/local/include/cpl_serv.h
> -- Up-to-date: /work/osgeo/local/include/geo_simpletags.h
> -- Up-to-date: /work/osgeo/local/include/epsg_datum.inc
> -- Up-to-date: /work/osgeo/local/include/epsg_gcs.inc
> -- Up-to-date: /work/osgeo/local/include/epsg_pm.inc
> -- Up-to-date: /work/osgeo/local/include/epsg_units.inc
> -- Up-to-date: /work/osgeo/local/include/geo_ctrans.inc
> -- Up-to-date: /work/osgeo/local/include/epsg_ellipse.inc
> -- Up-to-date: /work/osgeo/local/include/epsg_pcs.inc
> -- Up-to-date: /work/osgeo/local/include/epsg_proj.inc
> -- Up-to-date: /work/osgeo/local/include/epsg_vertcs.inc
> -- Up-to-date: /work/osgeo/local/include/geokeys.inc
> -- Installing: /work/osgeo/local/lib/libgeotiff.a
> -- Installing: /work/osgeo/local/lib/libgeotiff.so
> -- Removed runtime path from "/work/osgeo/local/lib/libgeotiff.so"
> -- Installing: /work/osgeo/local/bin/makegeo
> -- Removed runtime path from "/work/osgeo/local/bin/makegeo"
> -- Installing: /work/osgeo/local/bin/listgeo
> -- Removed runtime path from "/work/osgeo/local/bin/listgeo"
> -- Installing: /work/osgeo/local/bin/applygeo
> -- Removed runtime path from "/work/osgeo/local/bin/applygeo"
> -- Installing: /work/osgeo/local/bin/geotifcp
> -- Removed runtime path from "/work/osgeo/local/bin/geotifcp"
> 
> _______________________________________________
> Geotiff mailing list
> Geotiff at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/geotiff



More information about the Geotiff mailing list