⛏️ index : haiku.git

SubDir HAIKU_TOP src libs icon ;

AddSubDirSupportedPlatforms libbe_test ;

# source directories
local sourceDirs =
	flat_icon
	generic
	message
	shape
	style
	transformable
	transformer
;

# system headers
UseLibraryHeaders agg icon ;

UsePrivateHeaders shared ;

local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
	on $(architectureObject) {
		local architecture = $(TARGET_PACKAGING_ARCH) ;

		local sourceDir ;
		for sourceDir in $(sourceDirs) {
			SEARCH_SOURCE
				+= [ FDirName $(HAIKU_TOP) src libs icon $(sourceDir) ] ;
		}

		# Too many applications depend on libicon APIs being visible in libbe;
		# so for now, prevent -fvisiblity=hidden from being set.
		NO_HIDDEN_VISIBILITY on [ MultiArchDefaultGristFiles libicon.a ] = 1 ;

		StaticLibrary [ MultiArchDefaultGristFiles libicon.a ] :
			# flat_icon
			FlatIconFormat.cpp
			FlatIconImporter.cpp
			LittleEndianBuffer.cpp
			PathCommandQueue.cpp

			# message
			Defines.cpp
			MessageImporter.cpp

			# shape
			PathSourceShape.cpp
			ReferenceImage.cpp
			Shape.cpp
			VectorPath.cpp

			# style
			GradientTransformable.cpp
			Style.cpp

			# transformable
			Transformable.cpp

			# transformer
			AffineTransformer.cpp
			CompoundStyleTransformer.cpp
			ContourTransformer.cpp
			PathSource.cpp
			PerspectiveTransformer.cpp
			StrokeTransformer.cpp
			StyleTransformer.cpp
			TransformerFactory.cpp

			Icon.cpp
			IconRenderer.cpp
			IconUtils.cpp
			;
	}
}