|
|
- # Find the FreeImage library.
- #
- # This module defines
- # FREEIMAGE_FOUND - True if FREEIMAGE was found.
- # FREEIMAGE_INCLUDE_DIRS - Include directories for FREEIMAGE headers.
- # FREEIMAGE_LIBRARIES - Libraries for FREEIMAGE.
- #
- # To specify an additional directory to search, set FREEIMAGE_ROOT.
- #
- # Copyright (c) 2010, Ewen Cheslack-Postava
- # Based on FindSQLite3.cmake by:
- # Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl>
- # Extended by Siddhartha Chaudhuri, 2008.
- #
- # Redistribution and use is allowed according to the terms of the BSD license.
- #
-
- SET(FREEIMAGE_FOUND FALSE)
- SET(FREEIMAGE_INCLUDE_DIRS)
- SET(FREEIMAGE_LIBRARIES)
-
- SET(SEARCH_PATHS
- $ENV{ProgramFiles}/freeimage/include
- $ENV{SystemDrive}/freeimage/include
- $ENV{ProgramFiles}/freeimage
- $ENV{SystemDrive}/freeimage
- )
- IF(FREEIMAGE_ROOT)
- SET(SEARCH_PATHS
- ${FREEIMAGE_ROOT}
- ${FREEIMAGE_ROOT}/include
- ${SEARCH_PATHS}
- )
- ENDIF()
-
- IF(ANDROID)
- set(FREEIMAGE_INCLUDE_DIRS "${FREEIMAGE_ROOT}/include")
- ELSE()
- message("123 ${FREEIMAGE_INCLUDE_DIRS} ${SEARCH_PATHS}")
- FIND_PATH(FREEIMAGE_INCLUDE_DIRS
- NAMES FreeImage.h
- PATHS ${SEARCH_PATHS}
- NO_DEFAULT_PATH)
- message("123 ${FREEIMAGE_INCLUDE_DIRS}")
- ENDIF()
-
- IF(NOT FREEIMAGE_INCLUDE_DIRS) # now look in system locations
- set(FREEIMAGE_ROOT CACHE PATH "Path to FreeImage lib and header")
- FIND_PATH(FREEIMAGE_INCLUDE_DIRS
- NAMES FreeImage.h
- PATHS ${FREEIMAGE_ROOT}
- NO_DEFAULT_PATH)
- ENDIF(NOT FREEIMAGE_INCLUDE_DIRS)
-
-
- SET(FREEIMAGE_LIBRARY_DIRS)
- IF(FREEIMAGE_ROOT)
- SET(FREEIMAGE_LIBRARY_DIRS ${FREEIMAGE_ROOT})
- IF(ANDROID)
- SET(FREEIMAGE_LIBRARY_DIRS ${FREEIMAGE_ROOT}/lib/${ANDROID_ABI})
- ELSE()
- IF(EXISTS "${FREEIMAGE_ROOT}/lib")
- SET(FREEIMAGE_LIBRARY_DIRS ${FREEIMAGE_LIBRARY_DIRS} ${FREEIMAGE_ROOT}/lib)
- ENDIF()
- IF(EXISTS "${FREEIMAGE_ROOT}/lib/static")
- SET(FREEIMAGE_LIBRARY_DIRS ${FREEIMAGE_LIBRARY_DIRS} ${FREEIMAGE_ROOT}/lib/static)
- ENDIF()
- ENDIF()
- ENDIF()
-
- # FREEIMAGE
- # Without system dirs
- IF(ANDROID)
- SET(FREEIMAGE_LIBRARY ${FREEIMAGE_ROOT}/lib/${ANDROID_ABI}/libFreeImage.a)
- ELSE()
- FIND_LIBRARY(FREEIMAGE_LIBRARY
- NAMES FreeImage
- PATHS ${FREEIMAGE_LIBRARY_DIRS}
- NO_DEFAULT_PATH
- )
- ENDIF()
-
-
- IF(NOT FREEIMAGE_LIBRARY) # now look in system locations
- FIND_LIBRARY(FREEIMAGE_LIBRARY NAMES freeimage)
- ENDIF(NOT FREEIMAGE_LIBRARY)
-
- IF(NOT FREEIMAGE_INCLUDE_DIRS) # now look in system locations
- FIND_PATH(FREEIMAGE_INCLUDE_DIRS NAMES FreeImage.h)
- ENDIF(NOT FREEIMAGE_INCLUDE_DIRS)
-
- SET(FREEIMAGE_LIBRARIES)
- IF(FREEIMAGE_LIBRARY)
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARY})
-
- # now find dependencies
- if(MSVC)
- SET(FREEIMAGE_DEPENDENCIES FreeImageToolkit jpeg LibTIFF4 Metadata libpng16 zlibstatic)
- else()
- SET(FREEIMAGE_DEPENDENCIES jpeg Metadata png16 z FreeImageToolkit LibTIFF4)
- endif()
-
- FOREACH(FREEIMAGE_DEP IN LISTS FREEIMAGE_DEPENDENCIES)
- IF(ANDROID)
- SET(FREEIMAGE_DEP_${FREEIMAGE_DEP} ${FREEIMAGE_LIBRARY_DIRS}/lib${FREEIMAGE_DEP}.a)
- ELSE()
- SET(FREEIMAGE_DEP_${FREEIMAGE_DEP})
-
- FIND_LIBRARY(FREEIMAGE_DEP_${FREEIMAGE_DEP}
- NAMES ${FREEIMAGE_DEP}
- PATHS ${FREEIMAGE_LIBRARY_DIRS}
- NO_DEFAULT_PATH
- )
- ENDIF()
-
- if(FREEIMAGE_DEP_${FREEIMAGE_DEP})
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} ${FREEIMAGE_DEP_${FREEIMAGE_DEP}})
- endif()
-
- endforeach()
- ENDIF()
-
- #-----------------------------------------------------------------------
- #emscripten *.bc-files with cmake:
- if(EMSCRIPTEN)
- if(EXISTS "${FREEIMAGE_ROOT}/include/FreeImage.h")
- message("emscripten: ${FREEIMAGE_ROOT}/include/FreeImage.h exists.")
- SET(FREEIMAGE_INCLUDE_DIRS "${FREEIMAGE_ROOT}/include/")
- endif()
- message("FREEIMAGE_INCLUDE_DIRS:${FREEIMAGE_INCLUDE_DIRS}")
-
- if(EXISTS "${FREEIMAGE_ROOT}/lib/libFreeImage.bc")
- message("emscripten: ${FREEIMAGE_ROOT}/lib/libFreeImage.bc exists.")
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} "${FREEIMAGE_ROOT}/lib/libFreeImage.bc")
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} "${FREEIMAGE_ROOT}/lib/libjpeg.bc")
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} "${FREEIMAGE_ROOT}/lib/libMetadata.bc")
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} "${FREEIMAGE_ROOT}/lib/libpng16.bc")
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} "${FREEIMAGE_ROOT}/lib/libz.bc")
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} "${FREEIMAGE_ROOT}/lib/libFreeImageToolkit.bc")
- SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARIES} "${FREEIMAGE_ROOT}/lib/libLibTIFF4.bc")
- SET(FREEIMAGE_DEPENDENCIES jpeg Metadata png16 z FreeImageToolkit LibTIFF4)
- else()
- message(ERROR "emscripten: ${FREEIMAGE_ROOT}/lib/libflower.bc NOT exists.")
- endif()
- endif()
- #-----------------------------------------------------------------------
-
- IF(FREEIMAGE_INCLUDE_DIRS AND FREEIMAGE_LIBRARIES)
- SET(FREEIMAGE_FOUND TRUE)
- IF(NOT FREEIMAGE_FIND_QUIETLY)
- MESSAGE(STATUS "Found FreeImage: headers at ${FREEIMAGE_INCLUDE_DIRS}, libraries at ${FREEIMAGE_LIBRARY_DIRS} :: ${FREEIMAGE_LIBRARIES}")
- ENDIF(NOT FREEIMAGE_FIND_QUIETLY)
- ELSE(FREEIMAGE_INCLUDE_DIRS AND FREEIMAGE_LIBRARIES)
- SET(FREEIMAGE_FOUND FALSE)
- IF(FREEIMAGE_FIND_REQUIRED)
- MESSAGE(STATUS "FreeImage not found")
- ENDIF(FREEIMAGE_FIND_REQUIRED)
- ENDIF(FREEIMAGE_INCLUDE_DIRS AND FREEIMAGE_LIBRARIES)
-
- MARK_AS_ADVANCED(FREEIMAGE_INCLUDE_DIRS FREEIMAGE_LIBRARIES)
|