minecraft-pi-docker/mods/CMakeLists.txt

79 lines
2.4 KiB
CMake
Raw Normal View History

2020-10-26 19:58:28 +00:00
cmake_minimum_required(VERSION 3.13.0)
2020-09-25 16:43:53 +00:00
project(mods)
2021-01-27 21:26:19 +00:00
## Setup
2020-12-04 21:27:28 +00:00
add_compile_options(-Wall -Wextra -Werror)
2020-10-26 19:58:28 +00:00
add_link_options(-Wl,--no-undefined)
2020-12-04 21:27:28 +00:00
# Disable C++11 String ABI
2020-10-10 23:02:13 +00:00
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
2020-09-25 16:43:53 +00:00
2021-01-27 21:26:19 +00:00
# Add libreborn
add_subdirectory(../libreborn libreborn)
2020-10-03 20:18:53 +00:00
2020-12-04 21:27:28 +00:00
# Include Libraries Exported To Runtime Environment
include_directories(/app/export/include)
# Find GLFW
2020-12-02 23:18:49 +00:00
find_package(glfw3 3.3 REQUIRED)
2021-01-27 21:26:19 +00:00
## Mods
2020-12-02 23:18:49 +00:00
add_library(compat SHARED src/compat/compat.c)
2020-12-04 21:27:28 +00:00
target_link_libraries(compat feature input screenshot SDL GLESv1_CM X11 dl glfw Xfixes)
2020-12-02 23:18:49 +00:00
2021-01-27 21:26:19 +00:00
add_library(readdir SHARED src/readdir/readdir.c)
2020-09-25 16:43:53 +00:00
2020-12-02 23:18:49 +00:00
add_library(feature SHARED src/feature/feature.c)
2021-01-27 21:26:19 +00:00
target_link_libraries(feature reborn)
2020-12-02 23:18:49 +00:00
add_library(server SHARED src/server/server.cpp src/server/server_properties.cpp)
2021-01-27 21:26:19 +00:00
target_link_libraries(server reborn feature dl SDL pthread)
2020-10-10 23:02:13 +00:00
2020-11-24 22:12:23 +00:00
add_library(screenshot SHARED src/screenshot/screenshot.c)
2021-01-27 21:26:19 +00:00
target_link_libraries(screenshot reborn GLESv1_CM freeimage)
2020-11-24 22:12:23 +00:00
2020-12-02 23:18:49 +00:00
add_library(camera SHARED src/camera/camera.cpp)
2021-01-27 21:26:19 +00:00
target_link_libraries(camera reborn screenshot)
2020-10-04 00:30:15 +00:00
2020-12-02 23:18:49 +00:00
add_library(game_mode SHARED src/game_mode/game_mode.c src/game_mode/game_mode.cpp)
2021-01-27 21:26:19 +00:00
target_link_libraries(game_mode reborn)
2020-11-28 01:49:13 +00:00
2020-12-02 23:18:49 +00:00
add_library(input SHARED src/input/input.c src/input/input.cpp)
2021-01-27 21:26:19 +00:00
target_link_libraries(input reborn feature SDL)
2020-10-05 22:17:55 +00:00
2020-12-02 23:18:49 +00:00
add_library(misc SHARED src/misc/misc.c src/misc/misc.cpp)
2021-01-27 21:26:19 +00:00
target_link_libraries(misc reborn feature util)
2020-12-02 23:18:49 +00:00
add_library(options SHARED src/options/options.c)
2021-01-27 21:26:19 +00:00
target_link_libraries(options reborn feature)
2020-12-02 23:18:49 +00:00
add_library(override SHARED src/override/override.c)
2021-01-27 21:26:19 +00:00
target_link_libraries(override reborn dl)
2020-12-02 23:18:49 +00:00
add_library(textures SHARED src/textures/textures.cpp)
2021-01-27 21:26:19 +00:00
target_link_libraries(textures reborn feature GLESv1_CM)
2020-09-25 16:43:53 +00:00
2021-01-27 16:13:06 +00:00
add_library(test SHARED src/test/test.c)
2021-01-27 21:26:19 +00:00
target_link_libraries(test reborn)
2021-01-27 16:13:06 +00:00
2020-12-02 23:18:49 +00:00
add_library(init SHARED src/init/init.c)
2021-01-27 16:13:06 +00:00
target_link_libraries(init compat server game_mode camera input misc options textures test)
2021-01-27 21:26:19 +00:00
## Stubs
# Stub RPI-Specific Graphics
add_library(bcm_host SHARED src/stubs/bcm_host.c)
# Stub EGL
add_library(EGL SHARED src/stubs/EGL.c)
target_link_libraries(EGL compat)
# MCPI Links Against GLESv2 But Uses GLESv1_CM
add_library(GLESv2 SHARED src/stubs/GLESv2.c)
target_link_libraries(GLESv2 GLESv1_CM)
target_link_options(GLESv2 PRIVATE "-Wl,--no-as-needed")
## Install
install(TARGETS init compat readdir feature screenshot override server game_mode camera input misc options textures test bcm_host EGL GLESv2 DESTINATION /mods)