cmake_minimum_required(VERSION 2.8)
project(Pixman C)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/../../common/cmake/)

if (USE_SYSTEM_PIXMAN)
    find_package(PIXMAN)
    if (NOT PIXMAN_FOUND)
         MESSAGE(FATAL_ERROR "Cannot find system pixman library")
     endif()
endif()

if (NOT PIXMAN_FOUND)
    message(STATUS "Using local Pixman library")
    set(Pixman_headers_dir ${CMAKE_CURRENT_SOURCE_DIR}/pixman)
    include_directories(${Pixman_headers_dir})
    add_definitions(-DPACKAGE -DHAVE_PTHREAD_SETSPECIFIC)
    file (GLOB Pixman_src "pixman/*.c")
    file (GLOB Pixman_headers "pixman/*.h")
    list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-arm-neon.c)
    list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-arm-simd.c)
    list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-mips-dspr2.c)
    list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-vmx.c)
    list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-mmx.c)
    list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-sse2.c)
    list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-region.c)
    if (APPLE)
        list(REMOVE_ITEM Pixman_src ${CMAKE_CURRENT_SOURCE_DIR}/pixman/pixman-timer.c)
    endif()
    include_directories(${PNG_INCLUDE_DIR})
    add_library(pixman STATIC ${Pixman_src} ${Pixman_headers})
    if(NOT PNG_FOUND)
        target_link_libraries(pixman png)
    else()
        target_link_libraries(pixman ${PNG_LIBRARIES})
    endif()
    set_target_properties(pixman PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
    set_property(TARGET pixman PROPERTY FOLDER "third_party")
    if (NOT NO_STATIC)
        pack_static(pixman)
    endif()
else()
    set(Pixman_headers_dir ${PIXMAN_INCLUDE_DIRS})
endif()

