make/project.xml

Sun, 19 Oct 2025 21:20:08 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 19 Oct 2025 21:20:08 +0200
changeset 112
c3f2f16fa4b8
parent 108
77254bd6dccb
permissions
-rw-r--r--

update toolkit

<?xml version="1.0" encoding="UTF-8"?>
<project version="0.3" xmlns="http://unixwork.de/uwproj">
	<dependency>
		<lang>c</lang>
		<make>LD = \$(CC)</make>
	</dependency>
	
	<dependency name="curl" platform="macos">
		<cflags exec="true">curl-config --cflags</cflags>
		<ldflags exec="true">curl-config --ldflags</ldflags>
	</dependency>
	<dependency name="curl">
		<pkgconfig>libcurl</pkgconfig>
	</dependency>
	<dependency name="curl">
		<cflags exec="true">curl-config --cflags</cflags>
		<ldflags exec="true">curl-config --libs</ldflags>
	</dependency>
	
	<dependency name="sqlite">
		<pkgconfig>sqlite3</pkgconfig>
		<cflags>-DDBU_SQLITE</cflags>
	</dependency>
	
	<dependency name="libxml2" platform="windows">
		<cflags exec="true">xml2-config --cflags</cflags>
		<ldflags exec="true">xml2-config --libs</ldflags>
	</dependency>
	<dependency name="libxml2" platform="macos">
		<cflags exec="true">xml2-config --cflags</cflags>
		<ldflags exec="true">xml2-config --libs</ldflags>
	</dependency>
	<dependency name="libxml2">
		<pkgconfig>libxml-2.0</pkgconfig>
	</dependency>
	<dependency name="libxml2">
		<cflags exec="true">xml2-config --cflags</cflags>
		<ldflags exec="true">xml2-config --libs</ldflags>
	</dependency>
	
	<dependency name="openssl" platform="windows">
		<ldflags>-lssl -lcrypto</ldflags>
	</dependency>
	<dependency name="openssl" platform="macos">
		<ldflags>-framework CoreFoundation</ldflags>
	</dependency>
	<dependency name="openssl" platform="bsd" not="macos">
		<ldflags>-lssl -lcrypto</ldflags>
	</dependency>
	<dependency name="openssl">
		<pkgconfig>openssl</pkgconfig>
	</dependency>
	
	<dependency name="libadwaita">
		<pkgconfig>libadwaita-1</pkgconfig>
		<cflags>-DUI_GTK4 -DUI_LIBADWAITA</cflags>
		<ldflags>-lpthread</ldflags>
	</dependency>
	<dependency name="gtk4">
		<pkgconfig>gtk4</pkgconfig>
		<cflags>-DUI_GTK3</cflags>
		<ldflags>-lpthread</ldflags>
	</dependency>
	<dependency name="gtk3">
		<pkgconfig>gtk+-3.0</pkgconfig>
		<cflags>-DUI_GTK3</cflags>
		<ldflags>-lpthread</ldflags>
	</dependency>
	<dependency name="gtk2">
		<test>pkg-config --atleast-version=2.20 gtk+-2.0</test>
		<pkgconfig>gtk+-2.0</pkgconfig>
		<cflags>-DUI_GTK2</cflags>
		<ldflags>-lpthread</ldflags>
	</dependency>
	<dependency name="gtk2legacy">
		<pkgconfig>gtk+-2.0</pkgconfig>
		<cflags>-DUI_GTK2 -DUI_GTK2LEGACY</cflags>
		<ldflags>-lpthread</ldflags>
	</dependency>
	<dependency name="winui" platform="windows">
		<cflags>-DUI_WINUI</cflags>
	</dependency>
	
	<dependency name="webkitgtk6">
		<pkgconfig>webkitgtk-6.0</pkgconfig>
		<cflags>-DUI_WEBVIEW</cflags>
	</dependency>
	<dependency name="webkitgtk6">
		<!-- webview unsupported -->
	</dependency>
	<dependency name="webkit2gtk4">
		<pkgconfig>webkit2gtk-4.1</pkgconfig>
		<cflags>-DUI_WEBVIEW</cflags>
	</dependency>
	<dependency name="webkit2gtk4">
		<pkgconfig>webkit2gtk-4.0</pkgconfig>
		<cflags>-DUI_WEBVIEW</cflags>
	</dependency>
	<dependency name="webkit2gtk4">
		<!-- webview unsupported -->
	</dependency>
	
	<dependency name="qt5">
		<test>which qmake-qt5</test>
		<lang>cpp</lang>
		<cflags>-DUI_QT5</cflags>
		<pkgconfig>Qt5Widgets</pkgconfig>
		<make>QMAKE = qmake-qt5</make>
		<make>QT_PRO_FILE = qt5.pro</make>
	</dependency>
	
	<dependency name="cocoa" platform="macos">
		<cflags>-DUI_COCOA</cflags>
		<ldflags>-lobjc -framework Cocoa</ldflags>
	</dependency>
	
	<dependency name="motif" platform="bsd">
		<cflags>-DUI_MOTIF -I/usr/local/include/X11</cflags>
		<ldflags>-lXm -lXt -lX11 -lpthread</ldflags>
	</dependency>
	
	<dependency name="motif">
		<cflags>-DUI_MOTIF</cflags>
		<ldflags>-lXm -lXt -lX11 -lpthread</ldflags>
	</dependency>
	
	<dependency platform="macos">
		<make>OBJ_EXT = .o</make>
		<make>LIB_EXT = .a</make>
		<make>SHLIB_EXT = .dylib</make>
		<make>LIB_PREFIX = lib</make>
		<make>PACKAGE_SCRIPT = package_osx.sh</make>
	</dependency>
	<dependency platform="unix" not="macos">
		<make>OBJ_EXT = .o</make>
		<make>LIB_EXT = .a</make>
		<make>SHLIB_EXT = .so</make>
		<make>LIB_PREFIX = lib</make>
		<make>PACKAGE_SCRIPT = package_unix.sh</make>
	</dependency>
	<dependency>
		<make>BUILD_BIN_DIR = bin</make>
		<make>BUILD_LIB_DIR = lib</make>
	</dependency>
	
	<dependency platform="bsd">
		<cflags>-I/usr/local/include</cflags>
		<ldflags>-L/usr/local/lib</ldflags>
	</dependency>
	
	<target name="dav">
		<dependencies>curl,libxml2,openssl</dependencies>
	</target>
	
	<target name="dbu">
		<dependencies>sqlite</dependencies>
	</target>
	
	<target name="tk">
		<option arg="toolkit">
			<value str="libadwaita">
				<dependencies>libadwaita,webkitgtk6</dependencies>
				<make>TOOLKIT = gtk</make>
				<make>GTKOBJ = draw_cairo.o</make>
				<make>APP_PLATFORM_SRC = gtk-text.c</make>
				<make>APP_PLATFORM_SRC += gtk-image.c</make>
			</value>
			<value str="gtk4">
				<dependencies>gtk4,webkitgtk6</dependencies>
				<make>TOOLKIT = gtk</make>
				<make>GTKOBJ = draw_cairo.o</make>
				<make>APP_PLATFORM_SRC = gtk-text.c</make>
				<make>APP_PLATFORM_SRC += gtk-image.c</make>
			</value>
			<value str="gtk3">
				<dependencies>gtk3,webkit2gtk4</dependencies>
				<make>TOOLKIT = gtk</make>
				<make>GTKOBJ = draw_cairo.o</make>
				<make>GTKOBJ = draw_cairo.o</make>
				<make>APP_PLATFORM_SRC = gtk-text.c</make>
				<make>APP_PLATFORM_SRC += gtk-image.c</make>
			</value>
			<value str="cocoa">
				<dependencies>cocoa</dependencies>
				<make>TOOLKIT = cocoa</make>
				<make>APP_PLATFORM_SRC = cocoa-text.m</make>
			</value>
			<value str="qt5">
				<dependencies>qt5</dependencies>
				<make>TOOLKIT = qt</make>
				<make>LD = \$(CXX)</make>
			</value>
			<value str="motif">
				<dependencies>motif</dependencies>
				<make>TOOLKIT = motif</make>
			</value>
			<default value="winui" platform="windows" />
			<default value="cocoa" platform="macos" />
			<default value="libadwaita" />
			<default value="gtk4" />
			<default value="gtk3" />
			<default value="motif" />
			<!--
			<default value="qt5" />
			<default value="gtk2" />
			<default value="qt4" />
			-->
		</option>
	</target>
</project>

mercurial