|
# 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)
|