# Find CEF # # This module defines # CEF_FOUND # CEF_INCLUDE_DIRS # CEF_LIBRARIES # CEF_BINARIES_DEBUG # CEF_BINARIES_RELEASE # # Copyright (c) 2010 I-maginer # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA, or go to # http://www.gnu.org/copyleft/lesser.txt # # On a new cmake run, we do not need to be verbose IF(CEF_INCLUDE_DIR AND CEF_LIBRARY) SET(CEF_FIND_QUIETLY TRUE) ENDIF() # If CEF_ROOT was defined in the environment, use it. if (NOT CEF_ROOT AND NOT $ENV{CEF_ROOT} STREQUAL "") set(CEF_ROOT $ENV{CEF_ROOT}) endif() # concat all the search paths IF(CEF_ROOT) SET(CEF_INCLUDE_SEARCH_DIRS ${CEF_INCLUDE_SEARCH_DIRS} ${CEF_ROOT}/include/ ) SET(CEF_LIBRARY_SEARCH_DEBUG_DIRS ${CEF_LIBRARY_SEARCH_DIRS} ${CEF_ROOT}/Debug/lib ${CEF_ROOT}/lib/Debug ) SET(CEF_LIBRARY_SEARCH_RELEASE_DIRS ${CEF_LIBRARY_SEARCH_DIRS} ${CEF_ROOT}/Release/lib ${CEF_ROOT}/lib/Release ) SET(CEF_BINARY_SEARCH_DEBUG_DIRS ${CEF_BINARY_SEARCH_DIRS} ${CEF_ROOT}/Debug ) SET(CEF_BINARY_SEARCH_RELEASE_DIRS ${CEF_BINARY_SEARCH_DIRS} ${CEF_ROOT}/Release ) ENDIF() # log message IF (NOT CEF_FIND_QUIETLY) MESSAGE(STATUS "Checking for CEF library") ENDIF() # Search for header files FIND_PATH(CEF_INCLUDE_DIR cef.h PATHS ${CEF_INCLUDE_SEARCH_DIRS}) # Search for libraries files (debug mode) FIND_LIBRARY(CEF_LIBRARY_DEBUG libcef PATHS ${CEF_LIBRARY_SEARCH_DEBUG_DIRS}) FIND_LIBRARY(CEF_WRAPPER_LIBRARY_DEBUG libcef_dll_wrapper PATHS ${CEF_LIBRARY_SEARCH_DEBUG_DIRS}) # Search for libraries files (release mode) FIND_LIBRARY(CEF_LIBRARY_RELEASE libcef PATHS ${CEF_LIBRARY_SEARCH_RELEASE_DIRS}) FIND_LIBRARY(CEF_WRAPPER_LIBRARY_RELEASE libcef_dll_wrapper PATHS ${CEF_LIBRARY_SEARCH_RELEASE_DIRS}) # Search for cef binary files (debug mode) FIND_FILE(CEF_BINARY_PATH_DEBUG NAMES "libcef.dll" HINTS ${CEF_BINARY_SEARCH_DEBUG_DIRS}) # Search for cef binary files (release mode) FIND_FILE(CEF_BINARY_PATH_RELEASE NAMES "libcef.dll" HINTS ${CEF_BINARY_SEARCH_RELEASE_DIRS}) # Search for avcodec binary files (debug mode) FIND_FILE(AVCODEC_BINARY_PATH_DEBUG NAMES "avcodec-53.dll" HINTS ${CEF_BINARY_SEARCH_DEBUG_DIRS}) # Search for avcodec binary files (release mode) FIND_FILE(AVCODEC_BINARY_PATH_RELEASE NAMES "avcodec-53.dll" HINTS ${CEF_BINARY_SEARCH_RELEASE_DIRS}) # Search for avformat binary files (debug mode) FIND_FILE(AVFORMAT_BINARY_PATH_DEBUG NAMES "avformat-53.dll" HINTS ${CEF_BINARY_SEARCH_DEBUG_DIRS}) # Search for avformat binary files (release mode) FIND_FILE(AVFORMAT_BINARY_PATH_RELEASE NAMES "avformat-53.dll" HINTS ${CEF_BINARY_SEARCH_RELEASE_DIRS}) # Search for avutil binary files (debug mode) FIND_FILE(AVUTIL_BINARY_PATH_DEBUG NAMES "avutil-51.dll" HINTS ${CEF_BINARY_SEARCH_DEBUG_DIRS}) # Search for avutil binary files (release mode) FIND_FILE(AVUTIL_BINARY_PATH_RELEASE NAMES "avutil-51.dll" HINTS ${CEF_BINARY_SEARCH_RELEASE_DIRS}) # Search for icudt binary files (debug mode) FIND_FILE(ICUDT_BINARY_PATH_DEBUG NAMES "icudt.dll" HINTS ${CEF_BINARY_SEARCH_DEBUG_DIRS}) # Search for icudt binary files (release mode) FIND_FILE(ICUDT_BINARY_PATH_RELEASE NAMES "icudt.dll" HINTS ${CEF_BINARY_SEARCH_RELEASE_DIRS}) # Search for "locales" directory FIND_PATH(CEF_LOCALES_DIRECTORY_PATH "en-US.pak" PATH ${CEF_BINARY_SEARCH_RELEASE_DIRS}/locales ${CEF_BINARY_SEARCH_DEBUG_DIRS}/locales) # Search for icudt binary files (release mode) FIND_FILE(CEF_CHROME_PACK_PATH NAMES "chrome.pak" HINTS ${CEF_BINARY_SEARCH_RELEASE_DIRS} ${CEF_BINARY_SEARCH_DEBUG_DIRS}) # Configure libraries for debug/release SET(CEF_INCLUDE_DIRS ${CEF_INCLUDE_DIR} CACHE STRING "Directory containing CEF header files") SET(CEF_LIBRARY debug ${CEF_LIBRARY_DEBUG} optimized ${CEF_LIBRARY_RELEASE}) SET(CEF_WRAPPER_LIBRARY debug ${CEF_WRAPPER_LIBRARY_DEBUG} optimized ${CEF_WRAPPER_LIBRARY_RELEASE}) SET(CEF_LIBRARIES ${CEF_LIBRARY} ${CEF_WRAPPER_LIBRARY} CACHE STRING "CEF libraries files") # Configure binaries for debug/release SET(CEF_BINARIES_DEBUG ${CEF_BINARY_PATH_DEBUG} ${AVCODEC_BINARY_PATH_DEBUG} ${AVFORMAT_BINARY_PATH_DEBUG} ${AVUTIL_BINARY_PATH_DEBUG} ${ICUDT_BINARY_PATH_DEBUG} CACHE STRING "CEF debug binaries files") SET(CEF_BINARIES_RELEASE ${CEF_BINARY_PATH_RELEASE} ${AVCODEC_BINARY_PATH_RELEASE} ${AVFORMAT_BINARY_PATH_RELEASE} ${AVUTIL_BINARY_PATH_RELEASE} ${ICUDT_BINARY_PATH_RELEASE} CACHE STRING "CEF release binaries files") IF(CEF_INCLUDE_DIR AND CEF_LIBRARY AND CEF_WRAPPER_LIBRARY AND CEF_BINARIES_DEBUG AND CEF_BINARIES_RELEASE) SET(CEF_FOUND TRUE) ENDIF() # Hide those variables in GUI SET(CEF_INCLUDE_DIR ${CEF_INCLUDE_DIR} CACHE INTERNAL "") SET(CEF_LIBRARY_DEBUG ${CEF_LIBRARY_DEBUG} CACHE INTERNAL "") SET(CEF_LIBRARY_RELEASE ${CEF_LIBRARY_RELEASE} CACHE INTERNAL "") SET(CEF_LIBRARY ${CEF_LIBRARY} CACHE INTERNAL "") SET(CEF_WRAPPER_LIBRARY_DEBUG ${CEF_WRAPPER_LIBRARY_DEBUG} CACHE INTERNAL "") SET(CEF_WRAPPER_LIBRARY_RELEASE ${CEF_WRAPPER_LIBRARY_RELEASE} CACHE INTERNAL "") SET(CEF_WRAPPER_LIBRARY ${CEF_WRAPPER_LIBRARY} CACHE INTERNAL "") SET(CEF_BINARY_PATH_DEBUG ${CEF_BINARY_PATH_DEBUG} CACHE INTERNAL "") SET(CEF_BINARY_PATH_RELEASE ${CEF_BINARY_PATH_RELEASE} CACHE INTERNAL "") SET(AVCODEC_BINARY_PATH_DEBUG ${AVCODEC_BINARY_PATH_DEBUG} CACHE INTERNAL "") SET(AVCODEC_BINARY_PATH_RELEASE ${AVCODEC_BINARY_PATH_RELEASE} CACHE INTERNAL "") SET(AVFORMAT_BINARY_PATH_DEBUG ${AVFORMAT_BINARY_PATH_DEBUG} CACHE INTERNAL "") SET(AVFORMAT_BINARY_PATH_RELEASE ${AVFORMAT_BINARY_PATH_RELEASE} CACHE INTERNAL "") SET(AVUTIL_BINARY_PATH_DEBUG ${AVUTIL_BINARY_PATH_DEBUG} CACHE INTERNAL "") SET(AVUTIL_BINARY_PATH_RELEASE ${AVUTIL_BINARY_PATH_RELEASE} CACHE INTERNAL "") SET(ICUDT_BINARY_PATH_DEBUG ${ICUDT_BINARY_PATH_DEBUG} CACHE INTERNAL "") SET(ICUDT_BINARY_PATH_RELEASE ${ICUDT_BINARY_PATH_RELEASE} CACHE INTERNAL "") # log find result IF(CEF_FOUND) IF(NOT CEF_FIND_QUIETLY) MESSAGE(STATUS " libraries: ${CEF_LIBRARIES}") MESSAGE(STATUS " includes: ${CEF_INCLUDE_DIRS}") ENDIF() ELSE(CEF_FOUND) IF(NOT CEF_LIBRARIES) MESSAGE(SEND_ERROR, "CEF library could not be found.") ENDIF() IF(NOT (CEF_BINARIES_DEBUG AND CEF_BINARIES_RELEASE)) MESSAGE(SEND_ERROR, "CEF binaries files could not be found.") ENDIF() IF(NOT CEF_INCLUDE_DIRS) MESSAGE(SEND_ERROR "Cef include files could not be found.") ENDIF() ENDIF(CEF_FOUND)