CMake mode # vim: syntax=cmake if(NOT CMAKE_BUILD_TYPE) # default to Release build for GCC builds set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE) endif() message(STATUS "cmake version ${CMAKE_VERSION}") if(POLICY CMP0025) cmake_policy(SET CMP0025 OLD) # report Apple's Clang as just Clang endif() if(POLICY CMP0042) cmake_policy(SET CMP0042 NEW) # MACOSX_RPATH endif() project (x265) cmake_minimum_required (VERSION 2.8.8) # OBJECT libraries require 2.8.8 include(CheckIncludeFiles) include(CheckFunctionExists) include(CheckSymbolExists) include(CheckCXXCompilerFlag) # X265_BUILD must be incremented each time the public API is changed set(X265_BUILD 48) configure_file("${PROJECT_SOURCE_DIR}/x265.def.in" "${PROJECT_BINARY_DIR}/x265.def") configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in" "${PROJECT_BINARY_DIR}/x265_config.h") SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") # System architecture detection string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSPROC) set(X86_ALIASES x86 i386 i686 x86_64 amd64) list(FIND X86_ALIASES "${SYSPROC}" X86MATCH) if("${SYSPROC}" STREQUAL "" OR X86MATCH GREATER "-1") message(STATUS "Detected x86 target processor") set(X86 1) add_definitions(-DX265_ARCH_X86=1) if("${CMAKE_SIZEOF_VOID_P}" MATCHES 8) set(X64 1) add_definitions(-DX86_64=1) endif() elseif(${SYSPROC} STREQUAL "armv6l") message(STATUS "Detected ARM target processor") set(ARM 1) add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1) else() message(STATUS "CMAKE_SYSTEM_PROCESSOR value `${CMAKE_SYSTEM_PROCESSOR}` is unknown") message(STATUS "Please add this value near ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE}") endif() if(UNIX) list(APPEND PLATFORM_LIBS pthread) find_library(LIBRT rt) if(LIBRT) list(APPEND PLATFORM_LIBS rt) endif() find_package(Numa) if(NUMA_FOUND) list(APPEND CMAKE_REQUIRED_LIBRARIES ${NUMA_LIBRARY}) check_symbol_exists(numa_node_of_cpu numa.h NUMA_V2) if(NUMA_V2) add_definitions(-DHAVE_LIBNUMA) message(STATUS "libnuma found, building with support for NUMA nodes") list(APPEND PLATFORM_LIBS ${NUMA_LIBRARY}) link_directories(${NUMA_LIBRARY_DIR}) include_directories(${NUMA_INCLUDE_DIR}) endif() endif() mark_as_advanced(LIBRT NUMA_FOUND) endif(UNIX) if(X64 AND NOT WIN32) option(ENABLE_PIC "Enable Position Independent Code" ON) else() option(ENABLE_PIC "Enable Position Independent Code" OFF) endif(X64 AND NOT WIN32) # Compiler detection if(CMAKE_GENERATOR STREQUAL "Xcode") set(XCODE 1) endif() if (APPLE) add_definitions(-DMACOS) endif() MIME types defined: text/x-cmake.