# ossim file: ossim/CMakeLists.txt cmake_minimum_required (VERSION 2.8) project(ossimcore) message("################ Setting up OSSIM version 2 core library ################") # Include the Utilities in the root make. (in cmake/modules) include(OssimUtilities) # Verion settings. (in cmake/modules) include(OssimVersion) # Build with freetype option: OPTION(BUILD_OSSIM_FREETYPE_SUPPORT "Set to ON to build OSSIM with freetype support. Use OFF to turn off freetype support." ON) # Build with MPI option: OPTION(BUILD_OSSIM_MPI_SUPPORT "Set to ON to build OSSIM with MPI support. Use OFF to turn off MPI support." OFF) # Turn on OSSIM SVN ID support: OPTION(BUILD_OSSIM_ID_SUPPORT "Set to ON to build OSSIM SVN ID support into the library. Use OFF to turn off ID support." ON) # Build test apps option: OPTION(BUILD_OSSIM_TEST_APPS "Set to ON to build ossim test apps. Use OFF to disable." OFF) # Used to hold dependency libraries. set(requiredLibs) # Set the ossim include paths: include_directories( ${PROJECT_SOURCE_DIR}/include ) #--- # Find required and optional packages and add their include paths and libraries: #--- # GEOS - Currently optional until it is actually called.: find_package( GEOS ) if( GEOS_FOUND ) include_directories( ${GEOS_INCLUDE_DIR} ) set( requiredLibs ${requiredLibs} ${GEOS_LIBRARY} ) else( GEOS_FOUND ) message( FATAL_ERROR "Could not find geos package! Consider installing this as it will soon become a required package." ) endif( GEOS_FOUND ) # GEOFIFF - Required: set( OSSIM_HAS_GEOTIFF 0 ) find_package( GEOTIFF ) if( GEOTIFF_FOUND ) include_directories( ${GEOTIFF_INCLUDE_DIR} ) set( requiredLibs ${requiredLibs} ${GEOTIFF_LIBRARY} ) set( OSSIM_HAS_GEOTIFF 1 ) else( GEOTIFF_FOUND ) message( FATAL_ERROR "Could not find required geotiff package!" ) endif( GEOTIFF_FOUND ) # GEOTRANS - Required: (GeoTrans 3.4.x port future...) # find_package( Geotrans ) # if( GEOTRANS_FOUND ) # include_directories( ${GEOTRANS_INCLUDE_DIR} ) # set( requiredLibs ${requiredLibs} ${GEOTRANS_LIBRARY} ) # else( GEOTRANS_FOUND ) # message( FATAL_ERROR "Could not find required geotrans package!" ) # endif( GEOTRANS_FOUND ) # JPEG - Required package: find_package( JPEG ) if( JPEG_FOUND ) include_directories( ${JPEG_INCLUDE_DIR} ) set( requiredLibs ${requiredLibs} ${JPEG_LIBRARY} ) else( JPEG_FOUND ) message( FATAL_ERROR "Could not find required jpeg package!" ) endif( JPEG_FOUND ) # OpenThreads - Required: find_package( OpenThreads ) if( OPENTHREADS_FOUND ) include_directories( ${OPENTHREADS_INCLUDE_DIR} ) set( requiredLibs ${requiredLibs} ${OPENTHREADS_LIBRARY} ) else( OPENTHREADS_FOUND ) message( FATAL_ERROR "Could not find required OpenThreads package!" ) endif( OPENTHREADS_FOUND ) # TIFF - Required: find_package( TIFF ) if( TIFF_FOUND ) include_directories( ${TIFF_INCLUDE_DIR} ) set( requiredLibs ${requiredLibs} ${TIFF_LIBRARY} ) else( TIFF_FOUND ) message( FATAL_ERROR "Could not find required tiff package!" ) endif( TIFF_FOUND ) # DL - Required on unix: if( UNIX ) find_library( DL_LIBRARY dl ) if ( DL_LIBRARY ) set( requiredLibs ${requiredLibs} ${DL_LIBRARY} ) else( DL_LIBRARY ) # TODO: Is this required on unix? If so move to the required section. message( FATAL_ERROR "Could not find dl library!" ) endif( DL_LIBRARY ) endif( UNIX ) # FREETYPE - Optional: set( OSSIM_HAS_FREETYPE 0 ) if( BUILD_OSSIM_FREETYPE_SUPPORT ) find_package(Freetype) if( FREETYPE_FOUND ) include_directories( ${FREETYPE_INCLUDE_DIRS} ) set( requiredLibs ${requiredLibs} ${FREETYPE_LIBRARIES} ) set( OSSIM_HAS_FREETYPE 1 ) else( FREETYPE_FOUND ) message( WARNING "Could not find optional freetype package!" ) endif( FREETYPE_FOUND ) endif( BUILD_OSSIM_FREETYPE_SUPPORT ) # MPI - Optional: set( OSSIM_HAS_MPI 0 ) if( BUILD_OSSIM_MPI_SUPPORT ) find_package(MPI) if ( MPI_FOUND ) include_directories( ${MPI_INCLUDE_DIR} ) set( requiredLibs ${requiredLibs} ${MPI_LIBRARY} ) set( OSSIM_HAS_MPI 1 ) else ( MPI_FOUND ) message( WARNING "Could not find optional MPI package!" ) endif ( MPI_FOUND ) endif( BUILD_OSSIM_MPI_SUPPORT ) # ZLIB - Optional: set( OSSIM_HAS_LIBZ 0 ) find_package( ZLIB ) if ( ZLIB_FOUND ) include_directories( ${ZLIB_INCLUDE_DIR} ) set( requiredLibs ${requiredLibs} ${ZLIB_LIBRARY} ) set( OSSIM_HAS_LIBZ 1 ) else ( ZLIB_FOUND ) message( WARNING "Could not find optional zlib package!" ) endif ( ZLIB_FOUND ) # Set date. (from OssimUtilities.cmake) TODAYS_DATE(OSSIM_BUILD_DATE) # Set svn revision number. (from OssimUtilities.cmake) SET(OSSIM_SVN_REVISION_NUMBER "UNKNOWN") # GET_SVN_REVISION() # if ( NOT ${Project_WC_REVISION} EQUAL 0 ) # set( OSSIM_SVN_REVISION_NUMBER ${Project_WC_REVISION} ) # endif() #--- # Configure a header file to pass some of the CMake settings # to the source code. #--- configure_file ( "${PROJECT_SOURCE_DIR}/include/ossim/Config.h.in" "${PROJECT_SOURCE_DIR}/include/ossim/Config.h" ) # Configure a header file to with version info. configure_file ( "${PROJECT_SOURCE_DIR}/include/ossim/Version.h.in" "${PROJECT_SOURCE_DIR}/include/ossim/Version.h" ) # ossim uses C++ 2011 code: set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) # ossim core library: add_subdirectory(src/ossim) # ossim core applications: add_subdirectory(src/apps) #--- # Building test apps optional. #--- if(BUILD_OSSIM_TEST_APPS) add_subdirectory(src/test) ENDIF(BUILD_OSSIM_TEST_APPS) if(NOT UNINSTALL_TARGET_HANDLED) # Add uninstall target: add_custom_target( uninstall "${CMAKE_COMMAND}" -P "${CMAKE_MODULE_PATH}/uninstall.cmake" ) endif() message( STATUS "OSSIM_VERSION = ${OSSIM_VERSION}" ) message( STATUS "OSSIM_SVN_REVISION_NUMBER = ${OSSIM_SVN_REVISION_NUMBER}" ) message( STATUS "BUILD_LIBRARY_DIR = ${BUILD_LIBRARY_DIR}" ) message( STATUS "BUILD_RUNTIME_DIR = ${BUILD_RUNTIME_DIR}" ) message( STATUS "BUILD_OSSIM_FREETYPE_SUPPORT = ${BUILD_OSSIM_FREETYPE_SUPPORT}" ) message( STATUS "BUILD_OSSIM_TEST_APPS = ${BUILD_OSSIM_TEST_APPS}" ) message( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" ) message( STATUS "CMAKE_CXX_COMPILER = ${CMAKE_CXX_COMPILER}" ) message( STATUS "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}" ) message( STATUS "CMAKE_CXX_FLAGS_DEBUG = ${CMAKE_CXX_FLAGS_DEBUG}" ) message( STATUS "CMAKE_CXX_FLAGS_RELEASE = ${CMAKE_CXX_FLAGS_RELEASE}" ) message( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" ) message( STATUS "FREETYPE_LIBRARY = ${FREETYPE_LIBRARIES}" ) message( STATUS "FREETYPE_INCLUDE = ${FREETYPE_INCLUDE_DIRS}" ) message( STATUS "GEOTIFF_LIBRARY = ${GEOTIFF_LIBRARIES}" ) message( STATUS "GEOTIFF_INCLUDE = ${GEOTIFF_INCLUDE_DIR}" ) message( STATUS "GEOTRANS_LIBRARY = ${GEOTRANS_LIBRARY}" ) message( STATUS "GEOTRANS_INCLUDE = ${GEOTRANS_INCLUDE_DIR}" ) message( STATUS "GEOS_LIBRARY = ${GEOS_LIBRARY}" ) message( STATUS "GEOS_INCLUDE = ${GEOS_INCLUDE_DIR}" ) message( STATUS "JPEG_LIBRARY = ${JPEG_LIBRARIES}" ) message( STATUS "JPEG_INCLUDE = ${JPEG_INCLUDE_DIR}" ) message( STATUS "MPI_LIBRARY = ${MPI_LIBRARIES}" ) message( STATUS "MPI_INCLUDE = ${MPI_INCLUDE_PATH}" ) message( STATUS "OPENTHREADS_LIBRARY = ${OPENTHREADS_LIBRARY}" ) message( STATUS "OPENTHREADS_INCLUDE = ${OPENTHREADS_INCLUDE_DIR}" ) message( STATUS "OSSIM_COMPILE_WITH_FULL_WARNING = ${OSSIM_COMPILE_WITH_FULL_WARNING}" ) message( STATUS "OSSIM DEPENDENT LIBRARIES = ${requiredLibs}" ) message( STATUS "TIFF_LIBRARY = ${TIFF_LIBRARIES}" ) message( STATUS "TIFF_INCLUDE = ${TIFF_INCLUDE_DIR}" ) message( STATUS "ZLIB_LIBRARY = ${ZLIB_LIBRARIES}" ) message( STATUS "ZLIB_INCLUDE = ${ZLIB_INCLUDE_DIR}" ) message("################ End of OSSIM version 2 core library setup. ################")