summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 5a78c1f3e39824cb7e74155f3abc7c3569ee73f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#
#   Copyright (C) 2021 Reiko Asakura. All Rights Reserved.
#
#   Vita Development Suite Libraries
#

cmake_minimum_required(VERSION 3.19)

set(CMAKE_TOOLCHAIN_FILE $ENV{SCE_PSP2_SDK_DIR}/host_tools/build/cmake/psp2-snc-toolchain.cmake)

project(vdsuite-libraries LANGUAGES C)

include(ExternalProject)
include(VitaDevelopmentSuite)

# Install stub archives

add_custom_target(install-stubs
  COMMAND ${CMAKE_COMMAND}
    -D NIDS_DIR=${CMAKE_CURRENT_SOURCE_DIR}/nids
    -D VDSUITE_LIBGEN=${VDSUITE_LIBGEN}
    -D CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
    -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/InstallStubs.cmake
)

# Install headers

install(DIRECTORY
  include/
  DESTINATION include/vdsuite
)

# Build and install GLES headers

ExternalProject_Add(opengl-registry
  URL https://github.com/KhronosGroup/OpenGL-Registry/archive/2afca877b25ec2c7f19ddcba21a8627b9fa8e026.tar.gz
  URL_HASH SHA256=d7447748ac3a10c9c6324e2ee980b3b0d6f75f8665d0d4055b1afd1aa3f5b67d
  EXCLUDE_FROM_ALL TRUE
  INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/vdsuite/user/piglet
  CONFIGURE_COMMAND ""
  BUILD_COMMAND ""
  INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/api/GLES2 <INSTALL_DIR>/GLES2
)

ExternalProject_Add(egl-registry
  URL https://github.com/KhronosGroup/EGL-Registry/archive/d42c684f61828e3ce18533f1c6893b79980e6acc.tar.gz
  URL_HASH SHA256=02ce918b4c9c65b5af1924330a17f3c7fbccfd87869a5c87b25d7c7c593a3d8b
  EXCLUDE_FROM_ALL TRUE
  INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/vdsuite/user/piglet
  PATCH_COMMAND patch --forward --strip=1 --input=${CMAKE_CURRENT_SOURCE_DIR}/patches/egl-registry.patch
  CONFIGURE_COMMAND ""
  BUILD_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/api python3 genheaders.py -registry egl.xml EGL/egl.h
  COMMAND       ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/api python3 genheaders.py -registry egl.xml EGL/eglext.h
  INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/api/EGL <INSTALL_DIR>/EGL
  COMMAND         ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/api/KHR <INSTALL_DIR>/KHR
)

# Static libraries

add_subdirectory(365compat)