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 
0018 if(FFTW3_FOUND)
0019   include_directories(${FFTW3_INCLUDE_DIR})
0020 endif()
0021 
0022 if(HAVE_XSIMD)
0023   ko_compile_for_all_implementations_no_scalar(__per_arch_circle_mask_generator_objs kis_brush_mask_applicator_factories.cpp)
0024   ko_compile_for_all_implementations_no_scalar(_per_arch_processor_objs kis_brush_mask_processor_factories.cpp)
0025 
0026   message("Following objects are generated from the per-arch lib")
0027   foreach(_obj IN LISTS __per_arch_circle_mask_generator_objs _per_arch_processor_objs)
0028     message("    * ${_obj}")
0029   endforeach()
0030 endif()
0031 
0032 set(kritaimage_LIB_SRCS
0033    tiles3/kis_tile.cc
0034    tiles3/kis_tile_data.cc
0035    tiles3/kis_tile_data_store.cc
0036    tiles3/kis_tile_data_pooler.cc
0037    tiles3/kis_tiled_data_manager.cc
0038    tiles3/KisTiledExtentManager.cpp
0039    tiles3/kis_memento_manager.cc
0040    tiles3/kis_hline_iterator.cpp
0041    tiles3/kis_vline_iterator.cpp
0042    tiles3/kis_random_accessor.cc
0043    tiles3/swap/kis_abstract_compression.cpp
0044    tiles3/swap/kis_lzf_compression.cpp
0045    tiles3/swap/kis_abstract_tile_compressor.cpp
0046    tiles3/swap/kis_legacy_tile_compressor.cpp
0047    tiles3/swap/kis_tile_compressor_2.cpp
0048    tiles3/swap/kis_chunk_allocator.cpp
0049    tiles3/swap/kis_memory_window.cpp
0050    tiles3/swap/kis_swapped_data_store.cpp
0051    tiles3/swap/kis_tile_data_swapper.cpp
0052    kis_distance_information.cpp
0053    kis_painter.cc
0054    kis_painter_blt_multi_fixed.cpp
0055    kis_marker_painter.cpp
0056    KisOverlayPaintDeviceWrapper.cpp
0057    kis_progress_updater.cpp
0058    KisAnimatedOpacityProperty.cpp
0059    brushengine/kis_paint_information.cc
0060    brushengine/kis_random_source.cpp
0061    brushengine/KisPerStrokeRandomSource.cpp
0062    brushengine/kis_stroke_random_source.cpp
0063    brushengine/kis_paintop.cc
0064    brushengine/kis_paintop_factory.cpp
0065    brushengine/kis_paintop_preset.cpp
0066    brushengine/kis_paintop_registry.cc
0067    brushengine/kis_paintop_settings.cpp
0068    brushengine/KisPaintOpPresetUpdateProxy.cpp
0069    brushengine/kis_paintop_utils.cpp
0070    brushengine/kis_no_size_paintop_settings.cpp
0071    brushengine/kis_locked_properties.cc
0072    brushengine/kis_locked_properties_proxy.cpp
0073    brushengine/kis_locked_properties_server.cpp
0074    brushengine/kis_paintop_config_widget.cpp
0075    brushengine/kis_uniform_paintop_property.cpp
0076    brushengine/kis_combo_based_paintop_property.cpp
0077    brushengine/kis_slider_based_paintop_property.cpp
0078    brushengine/kis_standard_uniform_properties_factory.cpp
0079    brushengine/KisStrokeSpeedMeasurer.cpp
0080    brushengine/KisPaintopSettingsIds.cpp
0081    brushengine/KisOptimizedBrushOutline.cpp
0082    brushengine/kis_paintop_lod_limitations.cpp
0083    commands/kis_deselect_global_selection_command.cpp
0084    commands/KisDeselectActiveSelectionCommand.cpp
0085    commands/kis_image_change_layers_command.cpp
0086    commands/kis_image_change_visibility_command.cpp
0087    commands/kis_image_command.cpp
0088    commands/kis_image_layer_add_command.cpp
0089    commands/kis_image_layer_move_command.cpp
0090    commands/kis_image_layer_remove_command.cpp
0091    commands/kis_image_layer_remove_command_impl.cpp
0092    commands/kis_node_command.cpp
0093    commands/kis_node_compositeop_command.cpp
0094    commands/kis_node_opacity_command.cpp
0095    commands/kis_node_property_list_command.cpp
0096    commands/kis_reselect_global_selection_command.cpp
0097    commands/KisReselectActiveSelectionCommand.cpp
0098    commands/kis_set_global_selection_command.cpp
0099    commands/KisNodeRenameCommand.cpp
0100    commands/KisChangeDeselectedMaskCommand.cpp
0101    commands/KisNotifySelectionChangedCommand.cpp
0102    commands_new/kis_saved_commands.cpp
0103    commands_new/kis_processing_command.cpp
0104    commands_new/kis_image_resize_command.cpp
0105    commands_new/kis_image_set_resolution_command.cpp
0106    commands_new/kis_node_move_command2.cpp
0107    commands_new/kis_set_layer_style_command.cpp
0108    commands_new/kis_selection_move_command2.cpp
0109    commands_new/kis_update_command.cpp
0110    commands_new/kis_switch_current_time_command.cpp
0111    commands_new/kis_change_projection_color_command.cpp
0112    commands_new/kis_activate_selection_mask_command.cpp
0113    commands_new/kis_transaction_based_command.cpp
0114    commands_new/KisHoldUIUpdatesCommand.cpp
0115    commands_new/KisChangeChannelFlagsCommand.cpp
0116    commands_new/KisChangeChannelLockFlagsCommand.cpp
0117    commands_new/KisMergeLabeledLayersCommand.cpp
0118    commands_new/KisAsynchronouslyMergeableCommandInterface.cpp
0119    commands_new/KisSimpleModifyTransformMaskCommand.cpp
0120    commands_new/KisUpdateCommandEx.cpp
0121    commands_new/KisDisableDirtyRequestsCommand.cpp
0122    commands_new/KisResetGroupLayerCacheCommand.cpp
0123    commands_new/KisLazyCreateTransformMaskKeyframesCommand.cpp
0124    processing/kis_do_nothing_processing_visitor.cpp
0125    processing/kis_simple_processing_visitor.cpp
0126    processing/kis_convert_color_space_processing_visitor.cpp
0127    processing/kis_assign_profile_processing_visitor.cpp
0128    processing/kis_crop_processing_visitor.cpp
0129    processing/kis_crop_selections_processing_visitor.cpp
0130    processing/kis_transform_processing_visitor.cpp
0131    processing/kis_mirror_processing_visitor.cpp
0132    processing/KisSelectionBasedProcessingHelper.cpp
0133    filter/kis_filter.cc
0134    filter/kis_filter_category_ids.cpp
0135    filter/kis_filter_configuration.cc
0136    filter/kis_color_transformation_configuration.cc
0137    filter/kis_filter_registry.cc
0138    filter/kis_color_transformation_filter.cc
0139    generator/kis_generator.cpp
0140    generator/kis_generator_layer.cpp
0141    generator/kis_generator_registry.cpp
0142    generator/kis_generator_stroke_strategy.cpp
0143    floodfill/kis_fill_interval_map.cpp
0144    floodfill/kis_scanline_fill.cpp
0145    lazybrush/kis_min_cut_worker.cpp
0146    lazybrush/kis_lazy_fill_tools.cpp
0147    lazybrush/kis_multiway_cut.cpp
0148    lazybrush/KisWatershedWorker.cpp
0149    lazybrush/kis_colorize_mask.cpp
0150    lazybrush/kis_colorize_stroke_strategy.cpp
0151    KisFrameChangeUpdateRecipe.cpp
0152    KisAnimAutoKey.cpp
0153    KisDelayedUpdateNodeInterface.cpp
0154    KisCroppedOriginalLayerInterface.cpp
0155    KisDecoratedNodeInterface.cpp
0156    kis_adjustment_layer.cc
0157    kis_selection_based_layer.cpp
0158    kis_node_filter_interface.cpp
0159    kis_base_accessor.cpp
0160    kis_base_node.cpp
0161    kis_base_processor.cpp
0162    kis_bookmarked_configuration_manager.cc
0163    KisBusyWaitBroker.cpp
0164    KisBatchNodeUpdate.cpp
0165    KisSafeBlockingQueueConnectionProxy.cpp
0166    kis_node_uuid_info.cpp
0167    kis_clone_layer.cpp
0168    kis_config_widget.cpp
0169    kis_convolution_kernel.cc
0170    kis_convolution_painter.cc
0171    kis_gaussian_kernel.cpp
0172    kis_edge_detection_kernel.cpp
0173    kis_cubic_curve.cpp
0174    KisLevelsCurve.cpp
0175    KisAutoLevels.cpp
0176    kis_default_bounds.cpp
0177    kis_default_bounds_node_wrapper.cpp
0178    kis_default_bounds_base.cpp
0179    kis_effect_mask.cc
0180    kis_fast_math.cpp
0181    kis_fill_painter.cc
0182    kis_filter_mask.cpp
0183    kis_filter_strategy.cc
0184    kis_transform_mask.cpp
0185    kis_transform_mask_params_interface.cpp
0186    kis_recalculate_transform_mask_job.cpp
0187    kis_transform_mask_params_factory_registry.cpp
0188    KisTransformMaskTestingInterface.cpp
0189    kis_safe_transform.cpp
0190    kis_gradient_painter.cc
0191    kis_gradient_shape_strategy.cpp
0192    kis_cached_gradient_shape_strategy.cpp
0193    kis_polygonal_gradient_shape_strategy.cpp
0194    kis_iterator_ng.cpp
0195    kis_async_merger.cpp
0196    kis_merge_walker.cc
0197    kis_updater_context.cpp
0198    kis_update_job_item.cpp
0199    kis_stroke_strategy_undo_command_based.cpp
0200    kis_simple_stroke_strategy.cpp
0201    KisRunnableBasedStrokeStrategy.cpp
0202    KisRunnableStrokeJobDataBase.cpp
0203    KisRunnableStrokeJobData.cpp
0204    KisRunnableStrokeJobsInterface.cpp
0205    KisFakeRunnableStrokeJobsExecutor.cpp
0206    kis_stroke_job_strategy.cpp
0207    kis_stroke_strategy.cpp
0208    kis_stroke.cpp
0209    kis_strokes_queue.cpp
0210    KisStrokesQueueMutatedJobInterface.cpp
0211    kis_simple_update_queue.cpp
0212    kis_update_scheduler.cpp
0213    kis_queues_progress_updater.cpp
0214    kis_composite_progress_proxy.cpp
0215    kis_sync_lod_cache_stroke_strategy.cpp
0216    kis_lod_capable_layer_offset.cpp
0217    kis_update_time_monitor.cpp
0218    KisImageConfigNotifier.cpp
0219    kis_group_layer.cc
0220    kis_external_layer_iface.cc
0221    kis_count_visitor.cpp
0222    kis_histogram.cc
0223    kis_image_interfaces.cpp
0224    kis_image_animation_interface.cpp
0225    kis_time_span.cpp
0226    kis_node_graph_listener.cpp
0227    kis_image.cc
0228    kis_image_signal_router.cpp
0229    KisImageSignals.cpp
0230    kis_image_config.cpp
0231    KisImageResolutionProxy.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    KisBlockBackgroundFrameGenerationLock.cpp
0354    KisLockFrameGenerationLock.cpp
0355 )
0356 
0357 set(einspline_SRCS
0358    3rdparty/einspline/bspline_create.cpp
0359    3rdparty/einspline/bspline_data.cpp
0360    3rdparty/einspline/multi_bspline_create.cpp
0361    3rdparty/einspline/nubasis.cpp
0362    3rdparty/einspline/nubspline_create.cpp
0363    3rdparty/einspline/nugrid.cpp
0364 )
0365 
0366 kis_add_library(kritaimage SHARED ${kritaimage_LIB_SRCS} ${einspline_SRCS})
0367 
0368 generate_export_header(kritaimage BASE_NAME kritaimage)
0369 
0370 target_link_libraries(kritaimage 
0371     PUBLIC
0372         kritaversion 
0373         kritawidgets 
0374         kritaglobal 
0375         kritapsdutils 
0376          
0377         kritapigment 
0378         kritacommand
0379         kritawidgetutils 
0380         kritametadata
0381         kritaresources
0382 
0383         Qt5::Concurrent
0384 
0385         Eigen3::Eigen
0386         Boost::boost
0387 )
0388 
0389 if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
0390    target_link_libraries(kritaimage PUBLIC atomic)
0391 endif()
0392 
0393 if(OpenEXR_FOUND)
0394   target_link_libraries(kritaimage PUBLIC ${LINK_OPENEXR_LIB})
0395 endif()
0396 
0397 target_link_libraries(kritaimage PRIVATE ${FFTW3_LIBRARIES})
0398 
0399 if(APPLE)
0400     target_link_libraries(kritaimage PRIVATE kritamacosutils)
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::gsl)
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})