cmake_minimum_required (VERSION 2.6) project(svgpp_agg_render) set(AGG_PATH "../../../third_party/agg") include_directories( ../../../include ../../../third_party ${AGG_PATH}/include ) if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") endif() set(AGG_SOURCES ${AGG_PATH}/src/agg_curves.cpp ${AGG_PATH}/src/agg_trans_affine.cpp ${AGG_PATH}/src/agg_vcgen_dash.cpp ${AGG_PATH}/src/agg_vcgen_stroke.cpp ) source_group("AGG" FILES ${AGG_SOURCES}) set(DEMO_SOURCES svgpp_render.cpp gradient.hpp gradient.cpp stylable.hpp common.hpp clip_buffer.hpp clip_buffer.cpp filter.hpp filter.cpp svgpp_parser_impl.cpp ) set(AGG_DEMO_SOURCES ${AGG_SOURCES} ${DEMO_SOURCES} stb.cpp ) add_executable(svgpp_agg_render ${AGG_DEMO_SOURCES} parser_rapidxml_ns.hpp parser_rapidxml_ns.cpp ) target_compile_definitions(svgpp_agg_render PRIVATE SVG_PARSER_RAPIDXML_NS;RENDERER_AGG ) if (WIN32) add_executable(svgpp_agg_render_msxml ${AGG_DEMO_SOURCES} parser_msxml.hpp parser_msxml.cpp ) target_compile_definitions(svgpp_agg_render_msxml PRIVATE SVG_PARSER_MSXML;RENDERER_AGG ) endif() find_package(LibXml2) if (LIBXML2_FOUND) add_executable(svgpp_agg_render_libxml ${AGG_DEMO_SOURCES} parser_libxml.hpp parser_libxml.cpp ) target_compile_definitions(svgpp_agg_render_libxml PRIVATE SVG_PARSER_LIBXML;RENDERER_AGG ) set_property(TARGET svgpp_agg_render_libxml APPEND PROPERTY INCLUDE_DIRECTORIES ${LIBXML2_INCLUDE_DIR} ) target_link_libraries(svgpp_agg_render_libxml ${LIBXML2_LIBRARIES} ) endif() if (XERCES_INCLUDE_DIR) add_executable(svgpp_agg_render_xerces parser_xerces.hpp parser_xerces.cpp ${AGG_DEMO_SOURCES} ) target_compile_definitions(svgpp_agg_render_xerces PRIVATE SVG_PARSER_XERCES;RENDERER_AGG ) set_property(TARGET svgpp_agg_render_xerces APPEND PROPERTY INCLUDE_DIRECTORIES ${XERCES_INCLUDE_DIR} ) target_link_libraries(svgpp_agg_render_xerces ) endif() if (WIN32) add_executable(svgpp_gdip_render_msxml ${DEMO_SOURCES} parser_msxml.hpp parser_msxml.cpp ) target_link_libraries(svgpp_gdip_render_msxml gdiplus.lib ) target_compile_definitions(svgpp_gdip_render_msxml PRIVATE SVG_PARSER_MSXML;RENDERER_GDIPLUS ) endif()