comparison cmake/MlkLibrary.cmake @ 551:856c2e96189d

cmake: add support for maps/tilesets
author David Demelier <markand@malikania.fr>
date Mon, 06 Mar 2023 20:44:43 +0100
parents e1fa1b867281
children 8cf895e51fb6
comparison
equal deleted inserted replaced
550:d624125746f3 551:856c2e96189d
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 # 17 #
18 18
19 include(${CMAKE_CURRENT_LIST_DIR}/MlkBcc.cmake) 19 include(${CMAKE_CURRENT_LIST_DIR}/MlkBcc.cmake)
20 include(${CMAKE_CURRENT_LIST_DIR}/MlkNls.cmake) 20 include(${CMAKE_CURRENT_LIST_DIR}/MlkNls.cmake)
21 include(${CMAKE_CURRENT_LIST_DIR}/MlkMap.cmake)
22 include(${CMAKE_CURRENT_LIST_DIR}/MlkTileset.cmake)
21 23
22 function(mlk_library) 24 function(mlk_library)
23 set(options "") 25 set(options "")
24 set(oneValueArgs "NAME;FOLDER;TYPE") 26 set(oneValueArgs "NAME;FOLDER;TYPE")
25 set(multiValueArgs "SOURCES;ASSETS;LANGS;LIBRARIES;INCLUDES;FLAGS;OPTIONS") 27 set(multiValueArgs "SOURCES;ASSETS;LANGS;LIBRARIES;INCLUDES;FLAGS;OPTIONS;MAPS;TILESETS")
26 28
27 cmake_parse_arguments(LIB "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) 29 cmake_parse_arguments(LIB "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
28 30
29 if (NOT LIB_NAME) 31 if (NOT LIB_NAME)
30 message(FATAL_ERROR "Missing NAME") 32 message(FATAL_ERROR "Missing NAME")
43 OUTPUTS_VAR MO 45 OUTPUTS_VAR MO
44 ) 46 )
45 source_group(build/nls FILES ${MO}) 47 source_group(build/nls FILES ${MO})
46 endif () 48 endif ()
47 49
48 add_library(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES} ${HEADERS} ${MO}) 50 if (LIB_MAPS)
51 mlk_maps("${LIB_MAPS}" ${CMAKE_CURRENT_BINARY_DIR}/maps maps)
52 endif ()
53 if (LIB_TILESETS)
54 mlk_tilesets("${LIB_TILESETS}" ${CMAKE_CURRENT_BINARY_DIR}/tilesets tilesets)
55 endif ()
56
57 add_library(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES} ${HEADERS} ${MO} ${maps} ${tilesets})
49 58
50 if (LIB_FOLDER) 59 if (LIB_FOLDER)
51 set_target_properties(${LIB_NAME} PROPERTIES FOLDER extern) 60 set_target_properties(${LIB_NAME} PROPERTIES FOLDER extern)
52 endif () 61 endif ()
53 62