Mercurial > molko
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 |