0
|
1 #
|
|
2 # CMakeLists.txt -- CMake build system for malikania
|
|
3 #
|
|
4 # Copyright (c) 2013-2016 Malikania Authors
|
|
5 #
|
|
6 # Permission to use, copy, modify, and/or distribute this software for any
|
|
7 # purpose with or without fee is hereby granted, provided that the above
|
|
8 # copyright notice and this permission notice appear in all copies.
|
|
9 #
|
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
17 #
|
|
18
|
|
19 set(
|
|
20 HEADERS
|
|
21 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Animation.h
|
|
22 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Animator.h
|
|
23 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/ClientResourcesLoader.h
|
|
24 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Color.h
|
|
25 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Font.h
|
|
26 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Image.h
|
|
27 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Label.h
|
|
28 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Line.h
|
|
29 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Point.h
|
|
30 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Rectangle.h
|
|
31 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Size.h
|
|
32 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Sprite.h
|
|
33 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Window.h
|
|
34 )
|
|
35
|
|
36 set(
|
|
37 SOURCES
|
|
38 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Animator.cpp
|
|
39 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/ClientResourcesLoader.cpp
|
|
40 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Color.cpp
|
|
41 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Label.cpp
|
|
42 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Sprite.cpp
|
|
43 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/Window.cpp
|
|
44 )
|
|
45
|
|
46 if (WITH_BACKEND_SDL)
|
|
47 list(
|
|
48 APPEND
|
|
49 HEADERS
|
|
50 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/ImageSdl.h
|
|
51 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/WindowSdl.h
|
|
52 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/FontSdl.h
|
|
53 )
|
|
54 list(
|
|
55 APPEND
|
|
56 SOURCES
|
|
57 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/ImageSdl.cpp
|
|
58 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/WindowSdl.cpp
|
|
59 ${CMAKE_CURRENT_SOURCE_DIR}/malikania/backend/sdl/FontSdl.cpp
|
|
60 )
|
|
61 list(APPEND DEFINITIONS SDL_MAIN_HANDLED)
|
|
62 endif ()
|
|
63
|
|
64 find_package(SDL2 REQUIRED)
|
|
65 find_package(SDL2_image REQUIRED)
|
|
66 find_package(SDL2_ttf REQUIRED)
|
|
67
|
|
68 malikania_create_library(
|
|
69 PROJECT libclient
|
|
70 TARGET libclient
|
|
71 SOURCES ${HEADERS} ${SOURCES}
|
|
72 PUBLIC_INCLUDES
|
|
73 ${CMAKE_CURRENT_SOURCE_DIR}
|
|
74 ${SDL2_INCLUDE_DIRS}
|
|
75 ${SDL2_IMAGE_INCLUDE_DIRS}
|
|
76 ${SDL2_TTF_INCLUDE_DIRS}
|
|
77 LIBRARIES
|
|
78 libcommon
|
|
79 ${SDL2_LIBRARIES}
|
|
80 ${SDL2_IMAGE_LIBRARIES}
|
|
81 ${SDL2_TTF_LIBRARIES}
|
|
82 )
|
|
83
|
|
84 target_compile_definitions(libclient PUBLIC ${DEFINITIONS})
|