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

0001 project(kritapigment)
0002 
0003 # we have to repeat platform specifics from top-level
0004 if (WIN32)
0005     include_directories(${CMAKE_SOURCE_DIR}/winquirks)
0006     add_definitions(-D_USE_MATH_DEFINES)
0007     add_definitions(-DNOMINMAX)
0008     set(WIN32_PLATFORM_NET_LIBS ws2_32.lib netapi32.lib)
0009 endif ()
0010 
0011 include_directories(
0012     ${CMAKE_CURRENT_SOURCE_DIR}/resources
0013     ${CMAKE_CURRENT_SOURCE_DIR}/compositeops)
0014 
0015 set(LINK_OPENEXR_LIB)
0016 if(OpenEXR_FOUND)
0017     set(LINK_OPENEXR_LIB ${OPENEXR_LIBRARIES})
0018 endif()
0019 
0020 set(LINK_VC_LIB)
0021 
0022 if(HAVE_XSIMD)
0023     ko_compile_for_all_implementations_no_scalar(__per_arch_factory_objs compositeops/KoOptimizedCompositeOpFactoryPerArch.cpp)
0024     ko_compile_for_all_implementations(__per_arch_alpha_applicator_factory_objs KoAlphaMaskApplicatorFactoryImpl.cpp)
0025     ko_compile_for_all_implementations(__per_arch_rgb_scaler_factory_objs KoOptimizedPixelDataScalerU8ToU16FactoryImpl.cpp)
0026 
0027     message("Following objects are generated from the per-arch lib")
0028     foreach(_obj IN LISTS __per_arch_factory_objs __per_arch_alpha_applicator_factory_objs __per_arch_rgb_scaler_factory_objs)
0029         message("    * ${_obj}")
0030     endforeach()
0031 else()
0032     set(__per_arch_alpha_applicator_factory_objs KoAlphaMaskApplicatorFactoryImpl.cpp)
0033     set(__per_arch_rgb_scaler_factory_objs KoOptimizedPixelDataScalerU8ToU16FactoryImpl.cpp)
0034 endif()
0035 
0036 add_subdirectory(tests)
0037 add_subdirectory(benchmarks)
0038 
0039 set(kritapigment_SRCS
0040     DebugPigment.cpp
0041     KoBasicHistogramProducers.cpp
0042     KoAlphaMaskApplicatorBase.cpp
0043     KoOptimizedPixelDataScalerU8ToU16Base.cpp
0044     KoOptimizedPixelDataScalerU8ToU16Factory.cpp
0045     KoColor.cpp
0046     KoColorDisplayRendererInterface.cpp
0047     KoColorConversionAlphaTransformation.cpp
0048     KoColorConversionCache.cpp
0049     KoColorConversions.cpp
0050     KoColorConversionSystem.cpp
0051     KoColorConversionTransformation.cpp
0052     KoColorProofingConversionTransformation.cpp
0053     KoColorConversionTransformationFactory.cpp
0054     KoColorModelStandardIds.cpp
0055     KoColorProfile.cpp
0056     KoColorSpace.cpp
0057     KoColorSpaceEngine.cpp
0058     KoColorSpaceFactory.cpp
0059     KoColorSpaceMaths.cpp
0060     KoCmykColorSpaceMaths.cpp
0061     KoLabColorSpaceMaths.cpp
0062     KoColorSpaceRegistry.cpp
0063     KoColorProfileStorage.cpp
0064     KoColorTransformation.cpp
0065     KoColorTransformationFactory.cpp
0066     KoColorTransformationFactoryRegistry.cpp
0067     KoCompositeColorTransformation.cpp
0068     KoCompositeOp.cpp
0069     KoCompositeOpRegistry.cpp
0070     KoCopyColorConversionTransformation.cpp
0071     KoFallBackColorTransformation.cpp
0072     KoHistogramProducer.cpp
0073     KoMultipleColorConversionTransformation.cpp
0074     KoUniqueNumberForIdServer.cpp
0075     colorspaces/KoAlphaColorSpace.cpp
0076     colorspaces/KoLabColorSpace.cpp
0077     colorspaces/KoRgbU16ColorSpace.cpp
0078     colorspaces/KoRgbU8ColorSpace.cpp
0079     colorspaces/KoSimpleColorSpaceEngine.cpp
0080     compositeops/KoOptimizedCompositeOpFactory.cpp
0081     compositeops/KoOptimizedCompositeOpFactoryPerArch_Scalar.cpp
0082     compositeops/KoAlphaDarkenParamsWrapper.cpp
0083     ${__per_arch_factory_objs}
0084     ${__per_arch_alpha_applicator_factory_objs}
0085     ${__per_arch_rgb_scaler_factory_objs}
0086     KoAlphaMaskApplicatorFactory.cpp
0087     colorprofiles/KoDummyColorProfile.cpp
0088     resources/KoAbstractGradient.cpp
0089     resources/KoColorSet.cpp
0090     resources/KisSwatch.cpp
0091     resources/KisSwatchGroup.cpp
0092     resources/KoPattern.cpp
0093     resources/KoStopGradient.cpp
0094     resources/KoSegmentGradient.cpp
0095     resources/KoCachedGradient.h
0096     resources/KisGradientConversion.cpp
0097 )
0098 
0099 set (EXTRA_LIBRARIES ${LINK_OPENEXR_LIB} kritamultiarch)
0100 
0101 if(MSVC OR (WIN32 AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel"))
0102   # avoid "cannot open file 'LIBC.lib'" error
0103   set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBC.LIB")
0104 endif()
0105 
0106 kis_add_library(kritapigment SHARED ${kritapigment_SRCS})
0107 
0108 set_source_files_properties(
0109     ${__per_arch_factory_objs}
0110     ${__per_arch_alpha_applicator_factory_objs}
0111     ${__per_arch_rgb_scaler_factory_objs}
0112     PROPERTIES SKIP_PRECOMPILE_HEADERS TRUE)
0113 
0114 generate_export_header(kritapigment)
0115 
0116 target_include_directories( kritapigment
0117     PUBLIC
0118     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/resources>
0119     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/compositeops>
0120 )
0121 
0122 target_link_libraries( kritapigment
0123     PUBLIC
0124         kritaplugin
0125         kritastore
0126         kritaglobal
0127         kritaresources
0128         ${EXTRA_LIBRARIES}
0129         KF5::I18n 
0130         KF5::ConfigCore
0131         Qt5::Core
0132         Qt5::Gui
0133         Qt5::Xml
0134         ${WIN32_PLATFORM_NET_LIBS}
0135 )
0136 
0137 set_target_properties(kritapigment PROPERTIES
0138     VERSION ${GENERIC_KRITA_LIB_VERSION} SOVERSION ${GENERIC_KRITA_LIB_SOVERSION}
0139 )
0140 
0141 install(TARGETS kritapigment  ${INSTALL_TARGETS_DEFAULT_ARGS})