Warning, /graphics/krita/libs/image/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_subdirectory( tests )
0002 
0003 add_subdirectory( tiles3 )
0004 
0005 include_directories(
0006     ${CMAKE_CURRENT_BINARY_DIR}
0007     ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty
0008     ${CMAKE_CURRENT_SOURCE_DIR}/brushengine
0009     ${CMAKE_CURRENT_SOURCE_DIR}/commands
0010     ${CMAKE_CURRENT_SOURCE_DIR}/commands_new
0011     ${CMAKE_CURRENT_SOURCE_DIR}/filter
0012     ${CMAKE_CURRENT_SOURCE_DIR}/floodfill
0013     ${CMAKE_CURRENT_SOURCE_DIR}/generator
0014     ${CMAKE_CURRENT_SOURCE_DIR}/layerstyles
0015     ${CMAKE_CURRENT_SOURCE_DIR}/processing
0016 
0017     ${CMAKE_SOURCE_DIR}/sdk/tests
0018 )
0019 
0020 include_directories(SYSTEM
0021     ${EIGEN3_INCLUDE_DIR}
0022 )
0023 
0024 if(FFTW3_FOUND)
0025   include_directories(${FFTW3_INCLUDE_DIR})
0026 endif()
0027 
0028 if(HAVE_XSIMD)
0029   ko_compile_for_all_implementations_no_scalar(__per_arch_circle_mask_generator_objs kis_brush_mask_applicator_factories.cpp)
0030   ko_compile_for_all_implementations_no_scalar(_per_arch_processor_objs kis_brush_mask_processor_factories.cpp)
0031 
0032   message("Following objects are generated from the per-arch lib")
0033   foreach(_obj IN LISTS __per_arch_circle_mask_generator_objs _per_arch_processor_objs)
0034     message("    * ${_obj}")
0035   endforeach()
0036 endif()
0037 
0038 set(kritaimage_LIB_SRCS
0039    tiles3/kis_tile.cc
0040    tiles3/kis_tile_data.cc
0041    tiles3/kis_tile_data_store.cc
0042    tiles3/kis_tile_data_pooler.cc
0043    tiles3/kis_tiled_data_manager.cc
0044    tiles3/KisTiledExtentManager.cpp
0045    tiles3/kis_memento_manager.cc
0046    tiles3/kis_hline_iterator.cpp
0047    tiles3/kis_vline_iterator.cpp
0048    tiles3/kis_random_accessor.cc
0049    tiles3/swap/kis_abstract_compression.cpp
0050    tiles3/swap/kis_lzf_compression.cpp
0051    tiles3/swap/kis_abstract_tile_compressor.cpp
0052    tiles3/swap/kis_legacy_tile_compressor.cpp
0053    tiles3/swap/kis_tile_compressor_2.cpp
0054    tiles3/swap/kis_chunk_allocator.cpp
0055    tiles3/swap/kis_memory_window.cpp
0056    tiles3/swap/kis_swapped_data_store.cpp
0057    tiles3/swap/kis_tile_data_swapper.cpp
0058    kis_distance_information.cpp
0059    kis_painter.cc
0060    kis_painter_blt_multi_fixed.cpp
0061    kis_marker_painter.cpp
0062    KisOverlayPaintDeviceWrapper.cpp
0063    kis_progress_updater.cpp
0064    KisAnimatedOpacityProperty.cpp
0065    brushengine/kis_paint_information.cc
0066    brushengine/kis_random_source.cpp
0067    brushengine/KisPerStrokeRandomSource.cpp
0068    brushengine/kis_stroke_random_source.cpp
0069    brushengine/kis_paintop.cc
0070    brushengine/kis_paintop_factory.cpp
0071    brushengine/kis_paintop_preset.cpp
0072    brushengine/kis_paintop_registry.cc
0073    brushengine/kis_paintop_settings.cpp
0074    brushengine/KisPaintOpPresetUpdateProxy.cpp
0075    brushengine/kis_paintop_utils.cpp
0076    brushengine/kis_no_size_paintop_settings.cpp
0077    brushengine/kis_locked_properties.cc
0078    brushengine/kis_locked_properties_proxy.cpp
0079    brushengine/kis_locked_properties_server.cpp
0080    brushengine/kis_paintop_config_widget.cpp
0081    brushengine/kis_uniform_paintop_property.cpp
0082    brushengine/kis_combo_based_paintop_property.cpp
0083    brushengine/kis_slider_based_paintop_property.cpp
0084    brushengine/kis_standard_uniform_properties_factory.cpp
0085    brushengine/KisStrokeSpeedMeasurer.cpp
0086    brushengine/KisPaintopSettingsIds.cpp
0087    brushengine/KisOptimizedBrushOutline.cpp
0088    commands/kis_deselect_global_selection_command.cpp
0089    commands/KisDeselectActiveSelectionCommand.cpp
0090    commands/kis_image_change_layers_command.cpp
0091    commands/kis_image_change_visibility_command.cpp
0092    commands/kis_image_command.cpp
0093    commands/kis_image_layer_add_command.cpp
0094    commands/kis_image_layer_move_command.cpp
0095    commands/kis_image_layer_remove_command.cpp
0096    commands/kis_image_layer_remove_command_impl.cpp
0097    commands/kis_node_command.cpp
0098    commands/kis_node_compositeop_command.cpp
0099    commands/kis_node_opacity_command.cpp
0100    commands/kis_node_property_list_command.cpp
0101    commands/kis_reselect_global_selection_command.cpp
0102    commands/KisReselectActiveSelectionCommand.cpp
0103    commands/kis_set_global_selection_command.cpp
0104    commands/KisNodeRenameCommand.cpp
0105    commands_new/kis_saved_commands.cpp
0106    commands_new/kis_processing_command.cpp
0107    commands_new/kis_image_resize_command.cpp
0108    commands_new/kis_image_set_resolution_command.cpp
0109    commands_new/kis_node_move_command2.cpp
0110    commands_new/kis_set_layer_style_command.cpp
0111    commands_new/kis_selection_move_command2.cpp
0112    commands_new/kis_update_command.cpp
0113    commands_new/kis_switch_current_time_command.cpp
0114    commands_new/kis_change_projection_color_command.cpp
0115    commands_new/kis_activate_selection_mask_command.cpp
0116    commands_new/kis_transaction_based_command.cpp
0117    commands_new/KisHoldUIUpdatesCommand.cpp
0118    commands_new/KisChangeChannelFlagsCommand.cpp
0119    commands_new/KisChangeChannelLockFlagsCommand.cpp
0120    commands_new/KisMergeLabeledLayersCommand.cpp
0121    commands_new/KisAsynchronouslyMergeableCommandInterface.cpp
0122    commands_new/KisSimpleModifyTransformMaskCommand.cpp
0123    commands_new/KisUpdateCommandEx.cpp
0124    commands_new/KisDisableDirtyRequestsCommand.cpp
0125    commands_new/KisResetGroupLayerCacheCommand.cpp
0126    processing/kis_do_nothing_processing_visitor.cpp
0127    processing/kis_simple_processing_visitor.cpp
0128    processing/kis_convert_color_space_processing_visitor.cpp
0129    processing/kis_assign_profile_processing_visitor.cpp
0130    processing/kis_crop_processing_visitor.cpp
0131    processing/kis_crop_selections_processing_visitor.cpp
0132    processing/kis_transform_processing_visitor.cpp
0133    processing/kis_mirror_processing_visitor.cpp
0134    processing/KisSelectionBasedProcessingHelper.cpp
0135    filter/kis_filter.cc
0136    filter/kis_filter_category_ids.cpp
0137    filter/kis_filter_configuration.cc
0138    filter/kis_color_transformation_configuration.cc
0139    filter/kis_filter_registry.cc
0140    filter/kis_color_transformation_filter.cc
0141    generator/kis_generator.cpp
0142    generator/kis_generator_layer.cpp
0143    generator/kis_generator_registry.cpp
0144    generator/kis_generator_stroke_strategy.cpp
0145    floodfill/kis_fill_interval_map.cpp
0146    floodfill/kis_scanline_fill.cpp
0147    lazybrush/kis_min_cut_worker.cpp
0148    lazybrush/kis_lazy_fill_tools.cpp
0149    lazybrush/kis_multiway_cut.cpp
0150    lazybrush/KisWatershedWorker.cpp
0151    lazybrush/kis_colorize_mask.cpp
0152    lazybrush/kis_colorize_stroke_strategy.cpp
0153    KisAnimAutoKey.cpp
0154    KisDelayedUpdateNodeInterface.cpp
0155    KisCroppedOriginalLayerInterface.cpp
0156    KisDecoratedNodeInterface.cpp
0157    kis_adjustment_layer.cc
0158    kis_selection_based_layer.cpp
0159    kis_node_filter_interface.cpp
0160    kis_base_accessor.cpp
0161    kis_base_node.cpp
0162    kis_base_processor.cpp
0163    kis_bookmarked_configuration_manager.cc
0164    KisBusyWaitBroker.cpp
0165    KisBatchNodeUpdate.cpp
0166    KisSafeBlockingQueueConnectionProxy.cpp
0167    kis_node_uuid_info.cpp
0168    kis_clone_layer.cpp
0169    kis_config_widget.cpp
0170    kis_convolution_kernel.cc
0171    kis_convolution_painter.cc
0172    kis_gaussian_kernel.cpp
0173    kis_edge_detection_kernel.cpp
0174    kis_cubic_curve.cpp
0175    KisLevelsCurve.cpp
0176    KisAutoLevels.cpp
0177    kis_default_bounds.cpp
0178    kis_default_bounds_node_wrapper.cpp
0179    kis_default_bounds_base.cpp
0180    kis_effect_mask.cc
0181    kis_fast_math.cpp
0182    kis_fill_painter.cc
0183    kis_filter_mask.cpp
0184    kis_filter_strategy.cc
0185    kis_transform_mask.cpp
0186    kis_transform_mask_params_interface.cpp
0187    kis_recalculate_transform_mask_job.cpp
0188    kis_recalculate_generator_layer_job.cpp
0189    kis_transform_mask_params_factory_registry.cpp
0190    kis_safe_transform.cpp
0191    kis_gradient_painter.cc
0192    kis_gradient_shape_strategy.cpp
0193    kis_cached_gradient_shape_strategy.cpp
0194    kis_polygonal_gradient_shape_strategy.cpp
0195    kis_iterator_ng.cpp
0196    kis_async_merger.cpp
0197    kis_merge_walker.cc
0198    kis_updater_context.cpp
0199    kis_update_job_item.cpp
0200    kis_stroke_strategy_undo_command_based.cpp
0201    kis_simple_stroke_strategy.cpp
0202    KisRunnableBasedStrokeStrategy.cpp
0203    KisRunnableStrokeJobDataBase.cpp
0204    KisRunnableStrokeJobData.cpp
0205    KisRunnableStrokeJobsInterface.cpp
0206    KisFakeRunnableStrokeJobsExecutor.cpp
0207    kis_stroke_job_strategy.cpp
0208    kis_stroke_strategy.cpp
0209    kis_stroke.cpp
0210    kis_strokes_queue.cpp
0211    KisStrokesQueueMutatedJobInterface.cpp
0212    kis_simple_update_queue.cpp
0213    kis_update_scheduler.cpp
0214    kis_queues_progress_updater.cpp
0215    kis_composite_progress_proxy.cpp
0216    kis_sync_lod_cache_stroke_strategy.cpp
0217    kis_lod_capable_layer_offset.cpp
0218    kis_update_time_monitor.cpp
0219    KisImageConfigNotifier.cpp
0220    kis_group_layer.cc
0221    kis_external_layer_iface.cc
0222    kis_count_visitor.cpp
0223    kis_histogram.cc
0224    kis_image_interfaces.cpp
0225    kis_image_animation_interface.cpp
0226    kis_time_span.cpp
0227    kis_node_graph_listener.cpp
0228    kis_image.cc
0229    kis_image_signal_router.cpp
0230    KisImageSignals.cpp
0231    kis_image_config.cpp
0232    kis_projection_updates_filter.cpp
0233    kis_suspend_projection_updates_stroke_strategy.cpp
0234    kis_regenerate_frame_stroke_strategy.cpp
0235    kis_switch_time_stroke_strategy.cpp
0236    kis_crop_saved_extra_data.cpp
0237    kis_timed_signal_threshold.cpp
0238    kis_layer.cc
0239    kis_indirect_painting_support.cpp
0240    kis_abstract_projection_plane.cpp
0241    kis_layer_projection_plane.cpp
0242    kis_layer_utils.cpp
0243    kis_mask_projection_plane.cpp
0244    kis_projection_leaf.cpp
0245    KisSafeNodeProjectionStore.cpp
0246    kis_mask.cc
0247    kis_base_mask_generator.cpp
0248    kis_rect_mask_generator.cpp
0249    kis_circle_mask_generator.cpp
0250    kis_gauss_circle_mask_generator.cpp
0251    kis_gauss_rect_mask_generator.cpp
0252    ${__per_arch_circle_mask_generator_objs}
0253    ${_per_arch_processor_objs}
0254    kis_brush_mask_applicator_factories_Scalar.cpp
0255    kis_curve_circle_mask_generator.cpp
0256    kis_curve_rect_mask_generator.cpp
0257    kis_math_toolbox.cpp
0258    kis_memory_statistics_server.cpp
0259    kis_name_server.cpp
0260    kis_node.cpp
0261    kis_node_facade.cpp
0262    kis_node_progress_proxy.cpp
0263    kis_busy_progress_indicator.cpp
0264    kis_node_visitor.cpp
0265    kis_paint_device.cc
0266    kis_paint_device_debug_utils.cpp
0267    kis_fixed_paint_device.cpp
0268    KisOptimizedByteArray.cpp
0269    kis_paint_layer.cc
0270    kis_perspective_math.cpp
0271    kis_pixel_selection.cpp
0272    kis_processing_information.cpp
0273    kis_properties_configuration.cc
0274    kis_random_accessor_ng.cpp
0275    kis_random_generator.cc
0276    kis_random_sub_accessor.cpp
0277    kis_wrapped_random_accessor.cpp
0278    kis_selection.cc
0279    KisSelectionUpdateCompressor.cpp
0280    kis_selection_mask.cpp
0281    kis_update_outline_job.cpp
0282    kis_update_selection_job.cpp
0283    kis_serializable_configuration.cc
0284    kis_transaction_data.cpp
0285    KisTransactionWrapperFactory.cpp
0286    KisInterstrokeDataTransactionWrapperFactory.cpp
0287    KisInterstrokeData.cpp
0288    KisInterstrokeDataFactory.cpp
0289    kis_transform_worker.cc
0290    kis_perspectivetransform_worker.cpp
0291    bsplines/kis_bspline_1d.cpp
0292    bsplines/kis_bspline_2d.cpp
0293    bsplines/kis_nu_bspline_2d.cpp
0294    kis_warptransform_worker.cc
0295    kis_cage_transform_worker.cpp
0296    kis_liquify_transform_worker.cpp
0297    kis_green_coordinates_math.cpp
0298    kis_transparency_mask.cc
0299    kis_undo_adapter.cpp
0300    kis_macro_based_undo_store.cpp
0301    kis_surrogate_undo_adapter.cpp
0302    kis_legacy_undo_adapter.cpp
0303    kis_post_execution_undo_adapter.cpp
0304    kis_processing_visitor.cpp
0305    kis_processing_applicator.cpp
0306    krita_utils.cpp
0307    kis_outline_generator.cpp
0308    kis_layer_composition.cpp
0309    kis_selection_filters.cpp
0310    KisProofingConfiguration.h
0311    KisRecycleProjectionsJob.cpp
0312    kis_selection_component.cc
0313 
0314    kis_keyframe.cpp
0315    kis_keyframe_channel.cpp
0316    kis_keyframe_commands.cpp
0317    kis_scalar_keyframe_channel.cpp
0318    kis_raster_keyframe_channel.cpp
0319    kis_onion_skin_compositor.cpp
0320    kis_onion_skin_cache.cpp
0321    kis_idle_watcher.cpp
0322 
0323    kis_layer_properties_icons.cpp
0324 
0325    layerstyles/kis_multiple_projection.cpp
0326    layerstyles/kis_layer_style_filter.cpp
0327    layerstyles/kis_layer_style_filter_environment.cpp
0328    layerstyles/kis_layer_style_filter_projection_plane.cpp
0329    layerstyles/kis_layer_style_projection_plane.cpp
0330    layerstyles/KisStrokeLayerStyleFilterProjectionPlane.cpp
0331    layerstyles/kis_ls_drop_shadow_filter.cpp
0332    layerstyles/kis_ls_satin_filter.cpp
0333    layerstyles/kis_ls_stroke_filter.cpp
0334    layerstyles/kis_ls_bevel_emboss_filter.cpp
0335    layerstyles/kis_ls_overlay_filter.cpp
0336    layerstyles/kis_ls_utils.cpp
0337    layerstyles/gimp_bump_map.cpp
0338    layerstyles/KisLayerStyleKnockoutBlower.cpp
0339 
0340    KisProofingConfiguration.cpp
0341 
0342    kis_node_query_path.cc
0343 
0344    KisTranslateLayerNamesVisitor.cpp
0345 
0346    kis_asl_layer_style_serializer.cpp
0347    KisAslStorage.cpp
0348    kis_psd_layer_style.cpp
0349    KisBezierGradientMesh.cpp
0350    KisBezierTransformMesh.cpp
0351 
0352    KisEncloseAndFillPainter.cpp
0353 )
0354 
0355 set(einspline_SRCS
0356    3rdparty/einspline/bspline_create.cpp
0357    3rdparty/einspline/bspline_data.cpp
0358    3rdparty/einspline/multi_bspline_create.cpp
0359    3rdparty/einspline/nubasis.cpp
0360    3rdparty/einspline/nubspline_create.cpp
0361    3rdparty/einspline/nugrid.cpp
0362 )
0363 
0364 kis_add_library(kritaimage SHARED ${kritaimage_LIB_SRCS} ${einspline_SRCS})
0365 
0366 set_source_files_properties(
0367     ${__per_arch_circle_mask_generator_objs}
0368     ${_per_arch_processor_objs}
0369     PROPERTIES SKIP_PRECOMPILE_HEADERS TRUE)
0370 
0371 
0372 generate_export_header(kritaimage BASE_NAME kritaimage)
0373 
0374 target_link_libraries(kritaimage 
0375     PUBLIC
0376         kritaversion 
0377         kritawidgets 
0378         kritaglobal 
0379         kritapsdutils 
0380          
0381         kritapigment 
0382         kritacommand
0383         kritawidgetutils 
0384         kritametadata
0385         kritaresources
0386         Qt5::Concurrent
0387 )
0388 
0389 target_link_libraries(kritaimage PUBLIC ${Boost_SYSTEM_LIBRARY})
0390 
0391 if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
0392    target_link_libraries(kritaimage PUBLIC atomic)
0393 endif()
0394 
0395 if(OpenEXR_FOUND)
0396   target_link_libraries(kritaimage PUBLIC ${OPENEXR_LIBRARIES})
0397 endif()
0398 
0399 if(FFTW3_FOUND)
0400   target_link_libraries(kritaimage PRIVATE ${FFTW3_LIBRARIES})
0401 endif()
0402 
0403 target_link_libraries(kritaimage PUBLIC kritamultiarch)
0404 
0405 if (NOT GSL_FOUND)
0406   message (WARNING "KRITA WARNING! No GNU Scientific Library was found! Krita's Shaped Gradients might be non-normalized! Please install GSL library.")
0407 else ()
0408   target_link_libraries(kritaimage PRIVATE ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES})
0409 endif ()
0410 
0411 target_include_directories(kritaimage
0412     PUBLIC
0413     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/brushengine>
0414     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/filter>
0415     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/generator>
0416     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/layerstyles>
0417     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/processing>
0418 )
0419 
0420 set_target_properties(kritaimage PROPERTIES
0421     VERSION ${GENERIC_KRITA_LIB_VERSION} SOVERSION ${GENERIC_KRITA_LIB_SOVERSION}
0422 )
0423 install(TARGETS kritaimage  ${INSTALL_TARGETS_DEFAULT_ARGS})