Mercurial > molko
view assets/CMakeLists.txt @ 116:0a6683615c73
cmake: change build system, continue #2487 @3h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 03 Oct 2020 18:32:01 +0200 |
parents | |
children |
line wrap: on
line source
# # CMakeLists.txt -- CMake build system for assets # # 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. # project(libassets) set( FONTS ComicNeue-Regular.ttf DejaVuSans.ttf DejaVuSansCondensed.ttf Lato-Regular.ttf knights-quest.ttf pirata-one.ttf teutonic1.ttf ) set( IMAGES message.png ) set( MAPS test.map ) set( SPRITES test-walk.png ) set( TILESETS test.png ) macro (gen basedir list) file(MAKE_DIRECTORY ${libassets_BINARY_DIR}/assets/${basedir}) foreach (i ${list}) get_filename_component(basename ${i} NAME_WE) set(input ${libassets_SOURCE_DIR}/${basedir}/${i}) set(output ${libassets_BINARY_DIR}/assets/${basedir}/${basename}.h) add_custom_command( OUTPUT ${output} COMMAND $<TARGET_FILE:bcc> -s ${input} ${basename} > ${output} DEPENDS $<TARGET_FILE:bcc> ) list(APPEND OUTPUTS ${output}) endforeach () endmacro () gen(fonts "${FONTS}") gen(images "${IMAGES}") gen(maps "${MAPS}") gen(sprites "${SPRITES}") gen(tilesets "${TILESETS}") add_library(libassets OBJECT ${OUTPUTS}) target_include_directories( libassets PUBLIC $<BUILD_INTERFACE:${libassets_BINARY_DIR}> ) set_target_properties(libassets PROPERTIES LINKER_LANGUAGE "C")