changeset 242:4c24604efcab

cmake: create build hierarchy similar to install, closes #2518 @1h
author David Demelier <markand@malikania.fr>
date Sat, 28 Nov 2020 21:09:52 +0100
parents 76afe639fd72
children 71b3b7036de7
files cmake/MolkoBuildTranslations.cmake cmake/MolkoDefineExecutable.cmake cmake/MolkoDefineLibrary.cmake cmake/MolkoDefineTest.cmake cmake/MolkoSetBuildDirectories.cmake examples/example-action/CMakeLists.txt examples/example-animation/CMakeLists.txt examples/example-audio/CMakeLists.txt examples/example-battle/CMakeLists.txt examples/example-cursor/CMakeLists.txt examples/example-debug/CMakeLists.txt examples/example-drawable/CMakeLists.txt examples/example-font/CMakeLists.txt examples/example-gridmenu/CMakeLists.txt examples/example-inventory/main.c examples/example-label/CMakeLists.txt examples/example-map/CMakeLists.txt examples/example-message/CMakeLists.txt examples/example-sprite/CMakeLists.txt examples/example-trace/CMakeLists.txt examples/example-ui/CMakeLists.txt libadventure/CMakeLists.txt libcore/CMakeLists.txt libcore/core/core.c libcore/core/core_p.h libcore/nls/libcore.pot libcore/nls/libmlk-core.pot librpg/CMakeLists.txt librpg/nls/libmlk-rpg.pot librpg/nls/librpg.pot librpg/rpg/rpg.c librpg/rpg/rpg_p.h libui/CMakeLists.txt libui/nls/libmlk-ui.pot libui/nls/libui.pot libui/ui/ui.c libui/ui/ui_p.h molko/CMakeLists.txt
diffstat 38 files changed, 298 insertions(+), 422 deletions(-) [+]
line wrap: on
line diff
--- a/cmake/MolkoBuildTranslations.cmake	Sat Nov 28 18:00:05 2020 +0100
+++ b/cmake/MolkoBuildTranslations.cmake	Sat Nov 28 21:09:52 2020 +0100
@@ -60,7 +60,14 @@
 
 		foreach (t ${NLS_TRANSLATIONS})
 			set(po ${CMAKE_CURRENT_SOURCE_DIR}/nls/${t}.po)
-			set(mo ${CMAKE_CURRENT_BINARY_DIR}/${t}.mo)
+
+			if (NOT IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
+				set(modir ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${CMAKE_INSTALL_LOCALEDIR}/${t}/LC_MESSAGES)
+				set(mo ${modir}/${NLS_TARGET}.mo)
+			else ()
+				set(modir ${CMAKE_CURRENT_BINARY_DIR}/${t})
+				set(mo ${CMAKE_CURRENT_BINARY_DIR}/${NLS_TARGET}.mo)
+			endif ()
 
 			if (NOT EXISTS ${po})
 				message(WARNING "Missing translation ${po}")
@@ -81,6 +88,7 @@
 			add_custom_command(
 				OUTPUT ${mo}
 				VERBATIM
+				COMMAND ${CMAKE_COMMAND} -E make_directory ${modir}
 				COMMAND ${MSGFMT_EXE} -o ${mo} ${po}
 				DEPENDS ${po}
 				COMMENT "Generating translation binary ${mo}"
--- a/cmake/MolkoDefineExecutable.cmake	Sat Nov 28 18:00:05 2020 +0100
+++ b/cmake/MolkoDefineExecutable.cmake	Sat Nov 28 21:09:52 2020 +0100
@@ -19,6 +19,7 @@
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildAssets.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildTranslations.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoSetCompilerFlags.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/MolkoSetBuildDirectories.cmake)
 
 function(molko_define_executable)
 	set(options)
@@ -63,4 +64,5 @@
 	endif ()
 
 	molko_set_compiler_flags(${EXE_TARGET})
+	molko_set_build_directories(${EXE_TARGET})
 endfunction()
--- a/cmake/MolkoDefineLibrary.cmake	Sat Nov 28 18:00:05 2020 +0100
+++ b/cmake/MolkoDefineLibrary.cmake	Sat Nov 28 21:09:52 2020 +0100
@@ -63,6 +63,7 @@
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildTilesets.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildMaps.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoSetCompilerFlags.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/MolkoSetBuildDirectories.cmake)
 
 function(molko_define_library)
 	set(options EXTERNAL)
@@ -149,6 +150,8 @@
 		endif ()
 	endif ()
 
+	molko_set_build_directories(${LIB_TARGET})
+
 	if (LIB_FOLDER)
 		set_target_properties(${LIB_TARGET} PROPERTIES FOLDER ${LIB_FOLDER})
 	endif ()
--- a/cmake/MolkoDefineTest.cmake	Sat Nov 28 18:00:05 2020 +0100
+++ b/cmake/MolkoDefineTest.cmake	Sat Nov 28 21:09:52 2020 +0100
@@ -46,8 +46,8 @@
 	target_link_libraries(
 		test-${TEST_TARGET}
 		PRIVATE
-			libcore
-			libadventure
+			libmlk-core
+			libmlk-adventure
 			libgreatest
 			${TEST_LIBRARIES}
 	)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmake/MolkoSetBuildDirectories.cmake	Sat Nov 28 21:09:52 2020 +0100
@@ -0,0 +1,43 @@
+#
+# MolkoSetBuildDirectories.cmake -- CMake build system for molko
+#
+# Copyright (c) 2020 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+function(_msbd_set_dir target property value)
+	if (NOT IS_ABSOLUTE ${value})
+		set_target_properties(
+			${target}
+			PROPERTIES
+				${property} ${CMAKE_BINARY_DIR}/${value}
+		)
+
+		foreach (c ${CMAKE_CONFIGURATION_TYPES})
+			string(TOUPPER ${c} cfg)
+			set_target_properties(
+				${target}
+				PROPERTIES
+					${property}_${cfg} ${CMAKE_BINARY_DIR}/${c}/${value}
+			)
+		endforeach ()
+	endif ()
+
+endfunction()
+
+function(molko_set_build_directories target)
+	_msbd_set_dir(${target} ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR})
+	_msbd_set_dir(${target} LIBRARY_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR})
+	_msbd_set_dir(${target} RUNTIME_OUTPUT_DIRECTORY ${CMAKE_INSTALL_BINDIR})
+endfunction()
--- a/examples/example-action/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-action/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-action
 	SOURCES ${example-action_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES librpg libexamples
+	LIBRARIES libmlk-rpg libexamples
 )
--- a/examples/example-animation/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-animation/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-animation
 	SOURCES ${example-animation_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui libexamples
+	LIBRARIES libmlk-ui libexamples
 )
--- a/examples/example-audio/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-audio/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-audio
 	SOURCES ${example-audio_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui libexamples
+	LIBRARIES libmlk-ui libexamples
 )
--- a/examples/example-battle/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-battle/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -27,5 +27,5 @@
 		${example-battle_SOURCE_DIR}/registry.c
 		${example-battle_SOURCE_DIR}/registry.h
 	FOLDER examples
-	LIBRARIES librpg libadventure libexamples
+	LIBRARIES libmlk-rpg libmlk-adventure libexamples
 )
--- a/examples/example-cursor/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-cursor/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-cursor
 	SOURCES ${example-cursor_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui
+	LIBRARIES libmlk-ui
 )
--- a/examples/example-debug/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-debug/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-debug
 	SOURCES ${example-debug_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui
+	LIBRARIES libmlk-ui
 )
--- a/examples/example-drawable/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-drawable/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-drawable
 	SOURCES ${example-drawable_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui libexamples
+	LIBRARIES libmlk-ui libexamples
 )
--- a/examples/example-font/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-font/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -21,6 +21,6 @@
 molko_define_executable(
 	TARGET example-font
 	SOURCES ${example-font_SOURCE_DIR}/main.c
-	LIBRARIES libui
+	LIBRARIES libmlk-ui
 	FOLDER examples
 )
--- a/examples/example-gridmenu/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-gridmenu/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-gridmenu
 	SOURCES ${example-gridmenu_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui
+	LIBRARIES libmlk-ui
 )
--- a/examples/example-inventory/main.c	Sat Nov 28 18:00:05 2020 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
- * example-inventory.c -- show how to use inventory dialog
- *
- * Copyright (c) 2020 David Demelier <markand@malikania.fr>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <core/clock.h>
-#include <core/core.h>
-#include <core/event.h>
-#include <core/image.h>
-#include <core/painter.h>
-#include <core/panic.h>
-#include <core/sys.h>
-#include <core/texture.h>
-#include <core/util.h>
-#include <core/window.h>
-
-#include <ui/theme.h>
-#include <ui/ui.h>
-
-#include <rpg/item.h>
-#include <rpg/inventory.h>
-#include <rpg/inventory_dialog.h>
-#include <rpg/rpg.h>
-
-/* https://shikashiassets.itch.io/shikashis-fantasy-icons-pack */
-#include <assets/images/fish.h>
-#include <assets/images/potion.h>
-#include <assets/images/sword.h>
-
-#define W 1280
-#define H 720
-
-static struct {
-	const unsigned char *data;
-	const size_t datasz;
-	struct texture icon;
-	struct item item;
-} items[] = {
-	{
-		.data = images_potion,
-		.datasz = sizeof (images_potion),
-		.item = {
-			.name = "Potion",
-			.summary = "Recover 100 HP.",
-			.stackable = ITEM_STACK_MAX
-		}
-	},
-	{
-		.data = images_fish,
-		.datasz = sizeof (images_fish),
-		.item = {
-			.name = "Fish",
-			.summary = "Recover 1000 HP.",
-			.stackable = ITEM_STACK_MAX
-		}
-	},
-	{
-		.data = images_sword,
-		.datasz = sizeof (images_sword),
-		.item = {
-			.name = "Sword",
-			.summary = "A very basic sword.",
-			.stackable = 1
-		}
-	},
-};
-
-static void
-init(void)
-{
-	if (!core_init() || !ui_init() || !rpg_init())
-		panic();
-	if (!window_open("Example - Inventory", W, H))
-		panic();
-
-	for (size_t i = 0; i < NELEM(items); ++i) {
-		if (!image_openmem(&items[i].icon, items[i].data, items[i].datasz))
-			panic();
-
-		items[i].item.icon = &items[i].icon;
-	}
-}
-
-static void
-quit(void)
-{
-	window_finish();
-	rpg_finish();
-	ui_finish();
-	core_finish();
-}
-
-static void
-run(struct inventory_dialog *dlg)
-{
-	struct clock clock = {0};
-
-	clock_start(&clock);
-	inventory_dialog_open(dlg);
-
-	while (dlg->state) {
-		union event ev;
-		unsigned int elapsed = clock_elapsed(&clock);
-
-		clock_start(&clock);
-
-		while (event_poll(&ev)) {
-			switch (ev.type) {
-			case EVENT_QUIT:
-				inventory_dialog_finish(dlg);
-				break;
-			default:
-				inventory_dialog_handle(dlg, &ev);
-				break;
-			}
-		}
-
-		inventory_dialog_update(dlg, elapsed);
-		painter_set_color(0xffffffff);
-		painter_clear();
-		inventory_dialog_draw(dlg);
-		painter_present();
-
-		if ((elapsed = clock_elapsed(&clock)) < 20)
-			delay(20 - elapsed);
-	}
-}
-
-static void
-basic(void)
-{
-	struct inventory inv = { 0 };
-	struct inventory_dialog dlg = {
-		.inv = &inv,
-		.x = 60,
-		.y = 60
-	};
-
-	/* Add items manually to be able to sort. */
-	inv.items[1][5].item = &items[0].item;
-	inv.items[1][5].amount = 12;
-
-	inv.items[1][2].item = &items[0].item;
-	inv.items[1][2].amount = 9;
-
-	inv.items[2][7].item = &items[1].item;
-	inv.items[2][7].amount = 9;
-
-	inv.items[2][8].item = &items[1].item;
-	inv.items[2][8].amount = 3;
-
-	inv.items[2][4].item = &items[2].item;
-	inv.items[2][4].amount = 1;
-
-	run(&dlg);
-}
-
-int
-main(int argc, char **argv)
-{
-	(void)argc;
-	(void)argv;
-
-	init();
-	basic();
-	quit();
-}
--- a/examples/example-label/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-label/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -21,6 +21,6 @@
 molko_define_executable(
 	TARGET example-label
 	SOURCES ${example-label_SOURCE_DIR}/main.c
-	LIBRARIES libui
+	LIBRARIES libmlk-ui
 	FOLDER examples
 )
--- a/examples/example-map/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-map/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-map
 	SOURCES ${example-map_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES librpg libexamples
+	LIBRARIES libmlk-rpg libexamples
 )
--- a/examples/example-message/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-message/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-message
 	SOURCES ${example-message_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES librpg
+	LIBRARIES libmlk-rpg
 )
--- a/examples/example-sprite/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-sprite/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-sprite
 	SOURCES ${example-sprite_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui libexamples
+	LIBRARIES libmlk-ui libexamples
 )
--- a/examples/example-trace/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-trace/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-trace
 	SOURCES ${example-trace_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui libadventure
+	LIBRARIES libmlk-ui libmlk-adventure
 )
--- a/examples/example-ui/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/examples/example-ui/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -22,5 +22,5 @@
 	TARGET example-ui
 	SOURCES ${example-ui_SOURCE_DIR}/main.c
 	FOLDER examples
-	LIBRARIES libui
+	LIBRARIES libmlk-ui
 )
--- a/libadventure/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/libadventure/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -46,12 +46,12 @@
 )
 
 molko_define_library(
-	TARGET libadventure
+	TARGET libmlk-adventure
 	SOURCES
 		${STATE_SOURCES}
 		${SOURCES}
 	ASSETS ${ASSETS}
-	LIBRARIES libcore libui librpg
+	LIBRARIES libmlk-core libmlk-ui libmlk-rpg
 	PRIVATE_INCLUDES
 		${libadventure_SOURCE_DIR}/adventure
 	PUBLIC_INCLUDES
--- a/libcore/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/libcore/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -112,7 +112,7 @@
 endif ()
 
 molko_define_library(
-	TARGET libcore
+	TARGET libmlk-core
 	SOURCES ${SOURCES} ${SQL_ASSETS} ${PO}
 	ASSETS ${SQL_ASSETS}
 	TRANSLATIONS fr
--- a/libcore/core/core.c	Sat Nov 28 18:00:05 2020 +0100
+++ b/libcore/core/core.c	Sat Nov 28 21:09:52 2020 +0100
@@ -36,7 +36,7 @@
 	if (!sys_init(organization, name))
 		return false;
 
-	translate_init("mlk-libcore");
+	translate_init("libmlk-core");
 
 	return true;
 }
--- a/libcore/core/core_p.h	Sat Nov 28 18:00:05 2020 +0100
+++ b/libcore/core/core_p.h	Sat Nov 28 21:09:52 2020 +0100
@@ -23,7 +23,7 @@
 
 #if defined(MOLKO_WITH_NLS)
 #       include <libintl.h>
-#       define _(s) dgettext("mlk-libcore", s)
+#       define _(s) dgettext("libmlk-core", s)
 #else
 #       define _(s)
 #endif
--- a/libcore/nls/libcore.pot	Sat Nov 28 18:00:05 2020 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 17:53+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: /Users/markand/Dev/molko/libcore/core/panic.c:30
-#, c-format
-msgid "abort: %s\n"
-msgstr ""
-
-#: /Users/markand/Dev/molko/libcore/core/panic.c:76
-#, c-format
-msgid "abort: panic handler returned\n"
-msgstr ""
-
-#: /Users/markand/Dev/molko/libcore/core/save.c:85
-msgid "database not initialized correctly"
-msgstr ""
-
-#: /Users/markand/Dev/molko/libcore/core/save.c:175
-#, c-format
-msgid "property '%s' was not found"
-msgstr ""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libcore/nls/libmlk-core.pot	Sat Nov 28 21:09:52 2020 +0100
@@ -0,0 +1,37 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-11-28 20:31+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: /Users/markand/Dev/molko/libcore/core/panic.c:30
+#, c-format
+msgid "abort: %s\n"
+msgstr ""
+
+#: /Users/markand/Dev/molko/libcore/core/panic.c:76
+#, c-format
+msgid "abort: panic handler returned\n"
+msgstr ""
+
+#: /Users/markand/Dev/molko/libcore/core/save.c:85
+msgid "database not initialized correctly"
+msgstr ""
+
+#: /Users/markand/Dev/molko/libcore/core/save.c:175
+#, c-format
+msgid "property '%s' was not found"
+msgstr ""
--- a/librpg/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/librpg/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -94,12 +94,12 @@
 )
 
 molko_define_library(
-	TARGET librpg
+	TARGET libmlk-rpg
 	TRANSLATIONS fr
 	SOURCES ${SOURCES} ${PO}
 	LIBRARIES
-		libcore
-		libui
+		libmlk-core
+		libmlk-ui
 	PUBLIC_INCLUDES
 		$<BUILD_INTERFACE:${librpg_SOURCE_DIR}>
 )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/librpg/nls/libmlk-rpg.pot	Sat Nov 28 21:09:52 2020 +0100
@@ -0,0 +1,134 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-11-28 20:31+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:127
+msgid "Attack"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:134
+msgid "Magic"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:141
+msgid "Objects"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:148
+msgid "Special"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/battle-state-victory.c:88
+msgid "Victory!"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/battle-state-lost.c:87
+msgid "You have been defeated..."
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:241
+msgid "could not parse image"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:130
+msgid "could not parse tileset"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:92
+#, c-format
+msgid "ignoring action %d,%d,%u,%u,%s"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:61
+#, c-format
+msgid "invalid layer type: %s"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:175
+msgid "invalid origin"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/message.c:277
+msgid "message has null dimensions"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/message.c:140
+#, c-format
+msgid "message height too small: %u < %u"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/message.c:171
+msgid "message is automatic but has zero timeout"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/message.c:138
+#, c-format
+msgid "message width too small: %u < %u"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:236
+msgid "missing background layer"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:238
+msgid "missing foreground layer"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:114
+msgid "missing layer type definition"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:110
+msgid "missing map dimensions before layer"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:239
+msgid "missing tile dimensions before image"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:240
+msgid "missing tileset"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:298
+msgid "missing tileset image"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:229
+msgid "missing title"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:157
+msgid "null map columns"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:166
+msgid "null map rows"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:146
+msgid "null map title"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:142
+msgid "tileheight is null"
+msgstr ""
+
+#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:133
+msgid "tilewidth is null"
+msgstr ""
--- a/librpg/nls/librpg.pot	Sat Nov 28 18:00:05 2020 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 17:51+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:127
-msgid "Attack"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:134
-msgid "Magic"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:141
-msgid "Objects"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/battle-bar.c:148
-msgid "Special"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/battle-state-victory.c:88
-msgid "Victory!"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/battle-state-lost.c:87
-msgid "You have been defeated..."
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:241
-msgid "could not parse image"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:130
-msgid "could not parse tileset"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:92
-#, c-format
-msgid "ignoring action %d,%d,%u,%u,%s"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:61
-#, c-format
-msgid "invalid layer type: %s"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:175
-msgid "invalid origin"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/message.c:277
-msgid "message has null dimensions"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/message.c:140
-#, c-format
-msgid "message height too small: %u < %u"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/message.c:171
-msgid "message is automatic but has zero timeout"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/message.c:138
-#, c-format
-msgid "message width too small: %u < %u"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:236
-msgid "missing background layer"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:238
-msgid "missing foreground layer"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:114
-msgid "missing layer type definition"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:110
-msgid "missing map dimensions before layer"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:239
-msgid "missing tile dimensions before image"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:240
-msgid "missing tileset"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:298
-msgid "missing tileset image"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:229
-msgid "missing title"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:157
-msgid "null map columns"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:166
-msgid "null map rows"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/map-file.c:146
-msgid "null map title"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:142
-msgid "tileheight is null"
-msgstr ""
-
-#: /Users/markand/Dev/molko/librpg/rpg/tileset-file.c:133
-msgid "tilewidth is null"
-msgstr ""
--- a/librpg/rpg/rpg.c	Sat Nov 28 18:00:05 2020 +0100
+++ b/librpg/rpg/rpg.c	Sat Nov 28 21:09:52 2020 +0100
@@ -25,7 +25,7 @@
 rpg_init(void)
 {
 #if defined(MOLKO_WITH_NLS)
-	translate_init("mlk-librpg");
+	translate_init("libmlk-rpg");
 #endif
 
 	return true;
--- a/librpg/rpg/rpg_p.h	Sat Nov 28 18:00:05 2020 +0100
+++ b/librpg/rpg/rpg_p.h	Sat Nov 28 21:09:52 2020 +0100
@@ -23,7 +23,7 @@
 
 #if defined(MOLKO_WITH_NLS)
 #       include <libintl.h>
-#       define _(s) dgettext("mlk-librpg", s)
+#       define _(s) dgettext("libmlk-rpg", s)
 #else
 #       define _(s)
 #endif
--- a/libui/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/libui/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -53,12 +53,12 @@
 )
 
 molko_define_library(
-	TARGET libui
+	TARGET libmlk-ui
 	TRANSLATIONS fr
 	SOURCES ${SOURCES} ${PO} ${ASSETS}
 	ASSETS ${ASSETS}
 	LIBRARIES
-		libcore
+		libmlk-core
 	PUBLIC_INCLUDES
 		$<BUILD_INTERFACE:${libui_SOURCE_DIR}>
 )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libui/nls/libmlk-ui.pot	Sat Nov 28 21:09:52 2020 +0100
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-11-28 20:31+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: /Users/markand/Dev/molko/libui/ui/button.c:75
+#, c-format
+msgid "button height is too small for text: %u < %u"
+msgstr ""
+
+#: /Users/markand/Dev/molko/libui/ui/button.c:73
+#, c-format
+msgid "button width is too small for text: %u < %u"
+msgstr ""
+
+#: /Users/markand/Dev/molko/libui/ui/gridmenu.c:86
+#, c-format
+msgid "gridmenu height is too small: %u < %u"
+msgstr ""
+
+#: /Users/markand/Dev/molko/libui/ui/gridmenu.c:78
+#, c-format
+msgid "gridmenu width is too small: %u < %u"
+msgstr ""
--- a/libui/nls/libui.pot	Sat Nov 28 18:00:05 2020 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 17:50+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: /Users/markand/Dev/molko/libui/ui/button.c:75
-#, c-format
-msgid "button height is too small for text: %u < %u"
-msgstr ""
-
-#: /Users/markand/Dev/molko/libui/ui/button.c:73
-#, c-format
-msgid "button width is too small for text: %u < %u"
-msgstr ""
-
-#: /Users/markand/Dev/molko/libui/ui/gridmenu.c:86
-#, c-format
-msgid "gridmenu height is too small: %u < %u"
-msgstr ""
-
-#: /Users/markand/Dev/molko/libui/ui/gridmenu.c:78
-#, c-format
-msgid "gridmenu width is too small: %u < %u"
-msgstr ""
--- a/libui/ui/ui.c	Sat Nov 28 18:00:05 2020 +0100
+++ b/libui/ui/ui.c	Sat Nov 28 21:09:52 2020 +0100
@@ -26,7 +26,7 @@
 ui_init(void)
 {
 #if defined(MOLKO_WITH_NLS)
-	translate_init("mlk-libui");
+	translate_init("libmlk-ui");
 #endif
 
 	return theme_init();
--- a/libui/ui/ui_p.h	Sat Nov 28 18:00:05 2020 +0100
+++ b/libui/ui/ui_p.h	Sat Nov 28 21:09:52 2020 +0100
@@ -23,7 +23,7 @@
 
 #if defined(MOLKO_WITH_NLS)
 #       include <libintl.h>
-#       define _(s) dgettext("mlk-libui", s)
+#       define _(s) dgettext("libmlk-ui", s)
 #else
 #       define _(s)
 #endif
--- a/molko/CMakeLists.txt	Sat Nov 28 18:00:05 2020 +0100
+++ b/molko/CMakeLists.txt	Sat Nov 28 21:09:52 2020 +0100
@@ -21,5 +21,5 @@
 molko_define_executable(
 	TARGET molko
 	SOURCES main.c
-	LIBRARIES libadventure
+	LIBRARIES libmlk-adventure
 )