diff options
Diffstat (limited to 'libs/pixman-0.40.0/pixman/CMakeLists.txt')
-rw-r--r-- | libs/pixman-0.40.0/pixman/CMakeLists.txt | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/libs/pixman-0.40.0/pixman/CMakeLists.txt b/libs/pixman-0.40.0/pixman/CMakeLists.txt new file mode 100644 index 0000000..8b3ab2f --- /dev/null +++ b/libs/pixman-0.40.0/pixman/CMakeLists.txt @@ -0,0 +1,121 @@ +set(SOURCES + pixman.c + pixman-access.c + pixman-access-accessors.c + pixman-bits-image.c + pixman-combine32.c + pixman-combine-float.c + pixman-conical-gradient.c + pixman-filter.c + pixman-x86.c + pixman-mips.c + pixman-arm.c + pixman-ppc.c + pixman-edge.c + pixman-edge-accessors.c + pixman-fast-path.c + pixman-glyph.c + pixman-general.c + pixman-gradient-walker.c + pixman-image.c + pixman-implementation.c + pixman-linear-gradient.c + pixman-matrix.c + pixman-noop.c + pixman-radial-gradient.c + pixman-region16.c + pixman-region32.c + pixman-solid-fill.c + pixman-timer.c + pixman-trap.c + pixman-utils.c +) + +set(HEADERS + pixman.h + pixman-accessor.h + pixman-combine32.h + pixman-compiler.h + pixman-edge-imp.h + pixman-inlines.h + pixman-private.h +) + +#proccesor_optimizations +if(ARM) + if (ARM_NEON) + add_definitions(-DUSE_ARM_NEON) + list(APPEND SOURCES pixman-arm-neon.c + pixman-arm-neon-asm.S + pixman-arm-neon-asm-bilinear.S + ) + endif (ARM_NEON) + if (ARM_SIMD) + add_definitions(-DUSE_ARM_SIMD) + list(APPEND SOURCES pixman-arm-simd.c + pixman-arm-simd-asm.S + pixman-arm-simd-asm-scaled.S + ) + endif (ARM_SIMD) + if (ARM_IWMMXT) + add_definitions(-DUSE_ARM_IWMMXT) + list(APPEND SOURCES "pixman-mmx.c") + endif() +endif(ARM) + +if(MIPS) + if (MIPS_DSPR2) + add_definitions(-DUSE_MIPS_DSPR2) + list(APPEND SOURCES pixman-mips-dspr2.c + pixman-mips-dspr2-asm.S + pixman-mips-memcpy-asm.S + ) + endif (MIPS_DSPR2) + if (MIPS_LOONGSON_MMI) + add_definitions(-DUSE_LOONGSON_MMI) + list(APPEND SOURCES "pixman-mmx.c") + endif() +endif(MIPS) + +if(PPC) + if (PPC_VMX) + add_definitions(-DUSE_VMX) + list(APPEND SOURCES "pixman-vmx.c") + endif (PPC_VMX) +endif(PPC) + +if(X86) + if (X86_MMX) + add_definitions(-DUSE_X86_MMX) + list(APPEND SOURCES "pixman-mmx.c") + endif (X86_MMX) + if (X86_SSE2) + add_definitions(-DUSE_SSE2) + list(APPEND SOURCES "pixman-sse2.c") + endif (X86_SSE2) + if (X86_SSSE3) + add_definitions(-DUSE_SSSE3) + list(APPEND SOURCES "pixman-ssse3.c") + endif(X86_SSSE3) +endif(X86) + +IF(UNIX) + set(CMAKE_C_FLAGS -fPIC) +ENDIF(UNIX) + +add_library (pixman-1_core OBJECT ${SOURCES} ${HEADERS}) + +if(BUILD_SHARED) + add_library(pixman-1 SHARED $<TARGET_OBJECTS:pixman-1_core>) + install(TARGETS pixman-1 EXPORT PixmanTargets RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) +endif() + +if(BUILD_STATIC) + add_library(pixman-1_static STATIC $<TARGET_OBJECTS:pixman-1_core>) + if(NOT MSVC) + set_target_properties(pixman-1_static PROPERTIES OUTPUT_NAME pixman-1) + endif(NOT MSVC) + install(TARGETS pixman-1_static EXPORT PixmanTargets RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) +endif(BUILD_STATIC) + +install(FILES pixman.h ${CMAKE_CURRENT_BINARY_DIR}/pixman-version.h DESTINATION include/pixman-1) |