# Add include directories include_directories(".") FILE(GLOB 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" "pixman-sse2.c" ) set(CMAKE_DEBUG_POSTFIX "d") add_library(pixman-1 ${SOURCES}) # pixman requires the three PACKAGE* definitions in order to compile. The USE_SSE2 definition lets it use SSE2 instructions for speed. Every target machine should have SSE2 these days. target_compile_definitions(pixman-1 PUBLIC PACKAGE="pixman-1" PUBLIC PACKAGE_VERSION="0.34.0" PUBLIC PACKAGE_BUGREPORT="" PUBLIC USE_SSE2) # pixman produces a lot of warnings which are disabled here because they otherwise fill up the log files target_compile_options(pixman-1 PUBLIC "/wd4244" PUBLIC "/wd4146" PUBLIC "/wd4996") # PUBLIC "/D_CRT_SECURE_NO_WARNINGS" # The LIBRARY DESTINATION here is lib rather than bin because pixman must always be compiled as a static library since it has no exports. install(TARGETS pixman-1 RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )