1MACRO(checkX265) 2 IF (NOT X265_CHECKED) 3 OPTION(X265 "" ON) 4 5 MESSAGE(STATUS "Checking for x265") 6 MESSAGE(STATUS "*****************") 7 8 IF (X265) 9 FIND_HEADER_AND_LIB(_X265 x265.h) 10 FIND_HEADER_AND_LIB(_X265_CONFIG x265_config.h) 11 12 IF (_X265_FOUND AND _X265_CONFIG_FOUND) 13 FILE(READ ${_X265_INCLUDE_DIR}/x265_config.h X265_CONFIG_H) 14 STRING(REGEX MATCH "#define[ ]+X265_BUILD[ ]+([0-9]+)" X265_CONFIG_H "${X265_CONFIG_H}") 15 STRING(REGEX REPLACE ".*[ ]([0-9]+).*" "\\1" x265_version "${X265_CONFIG_H}") 16 MESSAGE(STATUS " core version: ${x265_version}") 17 18 IF (x265_version LESS 9) 19 MESSAGE("WARNING: x265 core version is too old. At least version 9 is required.") 20 SET(X265_FOUND 0) 21 ELSE (x265_version LESS 9) 22 IF(NOT WIN32) 23 SET(DL dl) 24 ELSE(NOT WIN32) 25 IF(NOT MSVC) 26 SET(DL stdc++) 27 ENDIF(NOT MSVC) 28 ENDIF(NOT WIN32) 29 IF(MSVC) 30 SET(X265_CFLAGS "-DX265_API_IMPORTS") 31 ADD_DEFINITIONS(${X265_CFLAGS}) 32 ENDIF(MSVC) 33 FIND_HEADER_AND_LIB(X265 x265.h x265 x265_encoder_open_${x265_version} ${DL}) 34 ENDIF (x265_version LESS 9) 35 ELSE (_X265_FOUND AND _X265_CONFIG_FOUND) 36 MESSAGE(STATUS " No working version found") 37 SET(X265_FOUND 0) 38 ENDIF (_X265_FOUND AND _X265_CONFIG_FOUND) 39 IF(X265_FOUND) 40 MESSAGE(STATUS " Workable version found") 41 SET(USE_X265 True CACHE BOOL "") 42 ENDIF(X265_FOUND) 43 44 PRINT_LIBRARY_INFO("x265" X265_FOUND "${X265_INCLUDE_DIR}" "${X265_LIBRARY_DIR}") 45 ELSE (X265) 46 MESSAGE("${MSG_DISABLE_OPTION}") 47 ENDIF (X265) 48 49 SET(X265_CHECKED 1) 50 51 MESSAGE("") 52 ENDIF (NOT X265_CHECKED) 53 54 APPEND_SUMMARY_LIST("Video Encoder" "x265" "${USE_X265}") 55ENDMACRO(checkX265) 56