diff cmake/MolkoDefineLibrary.cmake @ 259:16be1ad3ddba

adventure: start working on maps and teleport
author David Demelier <markand@malikania.fr>
date Sun, 06 Dec 2020 11:22:03 +0100
parents 9dcb9354dc74
children cd5bdb995052
line wrap: on
line diff
--- a/cmake/MolkoDefineLibrary.cmake	Sat Dec 05 15:57:02 2020 +0100
+++ b/cmake/MolkoDefineLibrary.cmake	Sun Dec 06 11:22:03 2020 +0100
@@ -31,6 +31,7 @@
 #   FOLDER              (Optional) optional subfolder to organize
 #   TYPE                (Optional) type of library
 #   ASSETS              (Optional) list of assets
+#   DATA                (Optional) list of data to install
 #   LIBRARIES           (Optional) libraries to link
 #   PRIVATE_FLAGS       (Optional) C flags (without -D)
 #   PRIVATE_INCLUDES    (Optional) local includes for the target only
@@ -66,13 +67,14 @@
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildAssets.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildTilesets.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildMaps.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/MolkoLinkData.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoSetCompilerFlags.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoSetBuildDirectories.cmake)
 
 function(molko_define_library)
 	set(options EXTERNAL)
 	set(oneValueArgs FOLDER TARGET TYPE)
-	set(multiValueArgs ASSETS LIBRARIES MAPS PRIVATE_FLAGS PRIVATE_INCLUDES PUBLIC_FLAGS PUBLIC_INCLUDES TILESETS SOURCES TRANSLATIONS)
+	set(multiValueArgs ASSETS DATA LIBRARIES MAPS PRIVATE_FLAGS PRIVATE_INCLUDES PUBLIC_FLAGS PUBLIC_INCLUDES TILESETS SOURCES TRANSLATIONS)
 
 	cmake_parse_arguments(LIB "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 
@@ -84,17 +86,20 @@
 	endif ()
 
 	molko_build_assets("${LIB_ASSETS}" ASSETS_OUTPUTS)
-	molko_build_tilesets("${LIB_TILESETS}" TILESETS_OUTPUTS)
-	molko_build_maps("${LIB_MAPS}" MAPS_OUTPUTS)
+	molko_build_tilesets(${LIB_TARGET} "${LIB_TILESETS}" TILESETS_OUTPUTS)
+	molko_build_maps(${LIB_TARGET} "${LIB_MAPS}" MAPS_OUTPUTS)
+	molko_link_data(${LIB_TARGET} "${LIB_DATA}" DATA_OUTPUTS)
 
 	if (${LIB_TYPE} MATCHES "INTERFACE")
 		add_library(${LIB_TARGET} INTERFACE)
 		target_sources(
 			${LIB_TARGET}
 			INTERFACE
+				${ASSETS_OUTPUTS}
+				${DATA_OUTPUTS}
 				${LIB_SOURCES}
-				${ASSETS_OUTPUTS}
 				${MAPS_OUTPUTS}
+				${NLS_OUTPUTS}
 				${TILESETS_OUTPUTS}
 		)
 		target_include_directories(
@@ -115,12 +120,13 @@
 
 		add_library(
 			${LIB_TARGET}
-			${LIB_TYPE}
+			${ASSETS_OUTPUTS}
+			${DATA_OUTPUTS}
 			${LIB_SOURCES}
-			${ASSETS_OUTPUTS}
+			${LIB_TYPE}
 			${MAPS_OUTPUTS}
+			${NLS_OUTPUTS}
 			${TILESETS_OUTPUTS}
-			${NLS_OUTPUTS}
 		)
 
 		target_include_directories(