view libcommon/CMakeLists.txt @ 20:787c2adb366c

Client: add JavaScript bindings for ElapsedTimer, #464
author David Demelier <markand@malikania.fr>
date Mon, 04 Apr 2016 18:51:30 +0200
parents fe95a8db2970
children a1e80d991968
line wrap: on
line source

#
# CMakeLists.txt -- CMake build system for malikania
#
# Copyright (c) 2013-2016 Malikania Authors
#
# 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.
#

set(
	HEADERS
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/application.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/game.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/elapsed-timer.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/game.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/id.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/js.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/js-elapsed-timer.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/json.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/resources-loader.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/resources-locator.h
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/util.h
)

set(
	SOURCES
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/application.cpp
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/elapsed-timer.cpp
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/js-elapsed-timer.cpp
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/json.cpp
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/resources-loader.cpp
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/resources-locator.cpp
	${CMAKE_CURRENT_SOURCE_DIR}/malikania/util.cpp
)

if (WITH_BACKEND_SDL)
	find_package(SDL2 REQUIRED)

	list(APPEND HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/common-sdl.h)
	list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/common-sdl.cpp)
	list(APPEND INCLUDES ${SDL2_INCLUDE_DIRS})
	list(APPEND LIBRARIES ${SDL2_LIBRARIES})
endif ()

if (WIN32)
	list(APPEND LIBRARIES ws2_32)
endif ()

malikania_create_library(
	PROJECT libcommon
	TARGET libcommon
	SOURCES ${HEADERS} ${SOURCES}
	FLAGS "MALIKANIA_COMMON_BUILD"
	PUBLIC_INCLUDES
		${CMAKE_CURRENT_SOURCE_DIR}
		${INCLUDES}
		$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/malikania>
	LIBRARIES extern-jansson ${LIBRARIES}
)

set_target_properties(libcommon PROPERTIES PREFIX "")