Mercurial > molko
diff libmlk-core/CMakeLists.txt @ 243:71b3b7036de7
misc: lot of cleanups,
- prefix libraries with libmlk,
- move assets from source directories closes #2520,
- prefix header guards closes #2519
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 28 Nov 2020 22:37:30 +0100 |
parents | libcore/CMakeLists.txt@4c24604efcab |
children | c4da052c0def |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libmlk-core/CMakeLists.txt Sat Nov 28 22:37:30 2020 +0100 @@ -0,0 +1,141 @@ +# +# CMakeLists.txt -- CMake build system for libmlk-core +# +# 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(libmlk-core) + +include(CheckLibraryExists) + +set( + ASSETS + ${libmlk-core_SOURCE_DIR}/assets/sql/init.sql + ${libmlk-core_SOURCE_DIR}/assets/sql/property-get.sql + ${libmlk-core_SOURCE_DIR}/assets/sql/property-remove.sql + ${libmlk-core_SOURCE_DIR}/assets/sql/property-set.sql +) + +set( + PO + ${libmlk-core_SOURCE_DIR}/nls/fr.po +) + +set( + SOURCES + ${libmlk-core_SOURCE_DIR}/core/action.c + ${libmlk-core_SOURCE_DIR}/core/action.h + ${libmlk-core_SOURCE_DIR}/core/alloc.c + ${libmlk-core_SOURCE_DIR}/core/alloc.h + ${libmlk-core_SOURCE_DIR}/core/animation.c + ${libmlk-core_SOURCE_DIR}/core/animation.h + ${libmlk-core_SOURCE_DIR}/core/clock.c + ${libmlk-core_SOURCE_DIR}/core/clock.h + ${libmlk-core_SOURCE_DIR}/core/color.h + ${libmlk-core_SOURCE_DIR}/core/core.c + ${libmlk-core_SOURCE_DIR}/core/core.h + ${libmlk-core_SOURCE_DIR}/core/core_p.h + ${libmlk-core_SOURCE_DIR}/core/drawable.c + ${libmlk-core_SOURCE_DIR}/core/drawable.h + ${libmlk-core_SOURCE_DIR}/core/error.c + ${libmlk-core_SOURCE_DIR}/core/error.h + ${libmlk-core_SOURCE_DIR}/core/event.c + ${libmlk-core_SOURCE_DIR}/core/event.h + ${libmlk-core_SOURCE_DIR}/core/font.c + ${libmlk-core_SOURCE_DIR}/core/font.h + ${libmlk-core_SOURCE_DIR}/core/game.c + ${libmlk-core_SOURCE_DIR}/core/game.h + ${libmlk-core_SOURCE_DIR}/core/image.c + ${libmlk-core_SOURCE_DIR}/core/image.h + ${libmlk-core_SOURCE_DIR}/core/inhibit.h + ${libmlk-core_SOURCE_DIR}/core/key.h + ${libmlk-core_SOURCE_DIR}/core/maths.c + ${libmlk-core_SOURCE_DIR}/core/maths.h + ${libmlk-core_SOURCE_DIR}/core/mouse.h + ${libmlk-core_SOURCE_DIR}/core/music.c + ${libmlk-core_SOURCE_DIR}/core/music.h + ${libmlk-core_SOURCE_DIR}/core/painter.c + ${libmlk-core_SOURCE_DIR}/core/painter.h + ${libmlk-core_SOURCE_DIR}/core/panic.c + ${libmlk-core_SOURCE_DIR}/core/panic.h + ${libmlk-core_SOURCE_DIR}/core/save.c + ${libmlk-core_SOURCE_DIR}/core/save.h + ${libmlk-core_SOURCE_DIR}/core/script.c + ${libmlk-core_SOURCE_DIR}/core/script.h + ${libmlk-core_SOURCE_DIR}/core/sound.c + ${libmlk-core_SOURCE_DIR}/core/sound.h + ${libmlk-core_SOURCE_DIR}/core/sprite.c + ${libmlk-core_SOURCE_DIR}/core/sprite.h + ${libmlk-core_SOURCE_DIR}/core/state.c + ${libmlk-core_SOURCE_DIR}/core/state.h + ${libmlk-core_SOURCE_DIR}/core/sys.c + ${libmlk-core_SOURCE_DIR}/core/sys.h + ${libmlk-core_SOURCE_DIR}/core/sysconfig.h.in + ${libmlk-core_SOURCE_DIR}/core/texture.c + ${libmlk-core_SOURCE_DIR}/core/texture.h + ${libmlk-core_SOURCE_DIR}/core/texture_p.h + ${libmlk-core_SOURCE_DIR}/core/trace.c + ${libmlk-core_SOURCE_DIR}/core/trace.h + ${libmlk-core_SOURCE_DIR}/core/translate.c + ${libmlk-core_SOURCE_DIR}/core/translate.h + ${libmlk-core_SOURCE_DIR}/core/util.c + ${libmlk-core_SOURCE_DIR}/core/util.h + ${libmlk-core_SOURCE_DIR}/core/wait.c + ${libmlk-core_SOURCE_DIR}/core/wait.h + ${libmlk-core_SOURCE_DIR}/core/window.c + ${libmlk-core_SOURCE_DIR}/core/window.h + ${libmlk-core_SOURCE_DIR}/core/window_p.h +) + +configure_file( + ${libmlk-core_SOURCE_DIR}/core/sysconfig.h.in + ${libmlk-core_BINARY_DIR}/sysconfig.h +) + +check_library_exists(m sqrt "" LIBM) + +if (MOLKO_WITH_NLS AND Intl_FOUND) + list(APPEND LIBS ${Intl_LIBRARIES}) + list(APPEND INCS ${Intl_INCLUDE_DIRS}) +endif () + +molko_define_library( + TARGET libmlk-core + SOURCES ${SOURCES} ${ASSETS} ${PO} + ASSETS ${ASSETS} + TRANSLATIONS fr + LIBRARIES + ${LIBS} + $<$<BOOL:${LIBM}>:m> + libsqlite + SDL2::SDL2 + SDL2::image + SDL2::mixer + SDL2::ttf + PRIVATE_FLAGS + BINDIR="${CMAKE_INSTALL_BINDIR}" + PREFIX="${CMAKE_INSTALL_PREFIX}" + SHAREDIR="${CMAKE_INSTALL_DATADIR}" + PUBLIC_FLAGS + _XOPEN_SOURCE=700 + PUBLIC_INCLUDES + ${INCS} + $<BUILD_INTERFACE:${libmlk-core_SOURCE_DIR}> + $<BUILD_INTERFACE:${libmlk-core_BINARY_DIR}> +) + +source_group(TREE ${libmlk-core_SOURCE_DIR} FILES ${SOURCES}) +source_group(TREE ${libmlk-core_SOURCE_DIR} FILES ${ASSETS}) +source_group(TREE ${libmlk-core_SOURCE_DIR} FILES ${PO})