diff cmake/MolkoDefineLibrary.cmake @ 215:64f24b482722

rpg: implement tilesets separately, closes #2515 @4h While here: - Add CMake macros, - Update maps, - Add more tests.
author David Demelier <markand@malikania.fr>
date Tue, 17 Nov 2020 20:08:42 +0100
parents 23a844fdc911
children d51d9c0c2186
line wrap: on
line diff
--- a/cmake/MolkoDefineLibrary.cmake	Mon Nov 16 21:57:23 2020 +0100
+++ b/cmake/MolkoDefineLibrary.cmake	Tue Nov 17 20:08:42 2020 +0100
@@ -56,11 +56,13 @@
 #
 
 include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildAssets.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildTilesets.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/MolkoBuildMaps.cmake)
 
 function(molko_define_library)
 	set(options)
 	set(oneValueArgs FOLDER TARGET TYPE)
-	set(multiValueArgs ASSETS LIBRARIES PRIVATE_FLAGS PRIVATE_INCLUDES PUBLIC_FLAGS PUBLIC_INCLUDES SOURCES)
+	set(multiValueArgs ASSETS LIBRARIES MAPS PRIVATE_FLAGS PRIVATE_INCLUDES PUBLIC_FLAGS PUBLIC_INCLUDES TILESETS SOURCES)
 
 	cmake_parse_arguments(LIB "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 
@@ -71,11 +73,20 @@
 		message(FATAL_ERROR "Missing SOURCES argument")
 	endif ()
 
-	molko_build_assets("${LIB_ASSETS}" OUTPUTS)
+	molko_build_assets("${LIB_ASSETS}" ASSETS_OUTPUTS)
+	molko_build_tilesets("${LIB_TILESETS}" TILESETS_OUTPUTS)
+	molko_build_maps("${LIB_MAPS}" MAPS_OUTPUTS)
 
 	if (${LIB_TYPE} MATCHES "INTERFACE")
 		add_library(${LIB_TARGET} INTERFACE)
-		target_sources(${LIB_TARGET} INTERFACE ${LIB_SOURCES} ${OUTPUTS})
+		target_sources(
+			${LIB_TARGET}
+			INTERFACE
+				${LIB_SOURCES}
+				${ASSETS_OUTPUTS}
+				${MAPS_OUTPUTS}
+				${TILESETS_OUTPUTS}
+		)
 		target_include_directories(
 			${LIB_TARGET}
 			INTERFACE
@@ -83,7 +94,14 @@
 				${LIB_PUBLIC_INCLUDES}
 		)
 	else ()
-		add_library(${LIB_TARGET} ${LIB_TYPE} ${LIB_SOURCES} ${OUTPUTS})
+		add_library(
+			${LIB_TARGET}
+			${LIB_TYPE}
+			${LIB_SOURCES}
+			${ASSETS_OUTPUTS}
+			${MAPS_OUTPUTS}
+			${TILESETS_OUTPUTS}
+		)
 		target_include_directories(
 			${LIB_TARGET}
 			PRIVATE