view src/core/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 3411daa26432
line wrap: on
line source

#
# CMakeLists.txt -- CMake build system for libcore
#
# 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(libcore)

set(
	SOURCES
	${libcore_SOURCE_DIR}/action.h
	${libcore_SOURCE_DIR}/animation.c
	${libcore_SOURCE_DIR}/animation.h
	${libcore_SOURCE_DIR}/button.c
	${libcore_SOURCE_DIR}/button.h
	${libcore_SOURCE_DIR}/checkbox.c
	${libcore_SOURCE_DIR}/checkbox.h
	${libcore_SOURCE_DIR}/clock.c
	${libcore_SOURCE_DIR}/clock.h
	${libcore_SOURCE_DIR}/color.h
	${libcore_SOURCE_DIR}/debug.c
	${libcore_SOURCE_DIR}/debug.h
	${libcore_SOURCE_DIR}/error.c
	${libcore_SOURCE_DIR}/error.h
	${libcore_SOURCE_DIR}/error_p.h
	${libcore_SOURCE_DIR}/event.c
	${libcore_SOURCE_DIR}/event.h
	${libcore_SOURCE_DIR}/font.c
	${libcore_SOURCE_DIR}/font.h
	${libcore_SOURCE_DIR}/frame.c
	${libcore_SOURCE_DIR}/frame.h
	${libcore_SOURCE_DIR}/game.c
	${libcore_SOURCE_DIR}/game.h
	${libcore_SOURCE_DIR}/image.c
	${libcore_SOURCE_DIR}/image.h
	${libcore_SOURCE_DIR}/inhibit.c
	${libcore_SOURCE_DIR}/inhibit.h
	${libcore_SOURCE_DIR}/inventory.c
	${libcore_SOURCE_DIR}/inventory.h
	${libcore_SOURCE_DIR}/inventory_dialog.c
	${libcore_SOURCE_DIR}/inventory_dialog.h
	${libcore_SOURCE_DIR}/item.h
	${libcore_SOURCE_DIR}/key.h
	${libcore_SOURCE_DIR}/label.c
	${libcore_SOURCE_DIR}/label.h
	${libcore_SOURCE_DIR}/map.c
	${libcore_SOURCE_DIR}/map.h
	${libcore_SOURCE_DIR}/map_state.c
	${libcore_SOURCE_DIR}/map_state.h
	${libcore_SOURCE_DIR}/maths.c
	${libcore_SOURCE_DIR}/maths.h
	${libcore_SOURCE_DIR}/message.c
	${libcore_SOURCE_DIR}/message.h
	${libcore_SOURCE_DIR}/mouse.h
	${libcore_SOURCE_DIR}/painter.c
	${libcore_SOURCE_DIR}/painter.h
	${libcore_SOURCE_DIR}/panic.c
	${libcore_SOURCE_DIR}/panic.h
	${libcore_SOURCE_DIR}/plat.h
	${libcore_SOURCE_DIR}/save.c
	${libcore_SOURCE_DIR}/save.h
	${libcore_SOURCE_DIR}/script.c
	${libcore_SOURCE_DIR}/script.h
	${libcore_SOURCE_DIR}/sound.c
	${libcore_SOURCE_DIR}/sound.h
	${libcore_SOURCE_DIR}/sprite.c
	${libcore_SOURCE_DIR}/sprite.h
	${libcore_SOURCE_DIR}/state.h
	${libcore_SOURCE_DIR}/sys.c
	${libcore_SOURCE_DIR}/sys.h
	${libcore_SOURCE_DIR}/texture.c
	${libcore_SOURCE_DIR}/texture.h
	${libcore_SOURCE_DIR}/texture_p.h
	${libcore_SOURCE_DIR}/theme.c
	${libcore_SOURCE_DIR}/theme.h
	${libcore_SOURCE_DIR}/util.c
	${libcore_SOURCE_DIR}/util.h
	${libcore_SOURCE_DIR}/wait.c
	${libcore_SOURCE_DIR}/wait.h
	${libcore_SOURCE_DIR}/walksprite.c
	${libcore_SOURCE_DIR}/walksprite.h
	${libcore_SOURCE_DIR}/window.c
	${libcore_SOURCE_DIR}/window.h
	${libcore_SOURCE_DIR}/window_p.h
)

add_library(libcore ${SOURCES})
target_link_libraries(
	libcore
	libassets
	SDL2::SDL2
	SDL2::image
	SDL2::mixer
	SDL2::ttf
)
target_compile_definitions(
	libcore
	PRIVATE
		BINDIR="${CMAKE_INSTALL_BINDIR}"
		PREFIX="${CMAKE_INSTALL_PREFIX}"
		SHAREDIR="${CMAKE_INSTALL_DATADIR}"
	PUBLIC
		_XOPEN_SOURCE=700
)
target_include_directories(
	libcore
	PUBLIC
		$<BUILD_INTERFACE:${libcore_SOURCE_DIR}>
)