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-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)
    include_directories(${PNG_INCLUDE_DIR})
    if(APPLE)
        set(CMAKE_OSX_ARCHITECTURES "i386;x86_64")
    endif()
    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()
    if(VISIBILITY_HIDDEN)
        SET(COMPILE_FLAGS "${COMPILE_FLAGS} -fvisibility=hidden")
    endif()
    if(UNIX OR APPLE)
        SET(COMPILE_FLAGS "${COMPILE_FLAGS} -fPIC")
    endif()
    set_target_properties(pixman PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
	 set_property(TARGET pixman PROPERTY FOLDER "third_party")
	 pack_static(pixman)
else()
    set(Pixman_headers_dir ${PIXMAN_INCLUDE_DIRS})
endif()

