summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorReiko Asakura2020-11-01 17:23:11 -0500
committerReiko Asakura2020-11-01 17:23:11 -0500
commit836489244c5271435c02213f33817f98f3181a96 (patch)
tree221c9c8a5acabd3fa82277bc3f68e79a022646e7 /CMakeLists.txt
parentAdd SceLibMonoBridge functions (diff)
downloadvds-libraries-836489244c5271435c02213f33817f98f3181a96.tar.gz
Update build script
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt95
1 files changed, 48 insertions, 47 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0decbc0..8f5cf79 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,55 +1,56 @@
-cmake_minimum_required(VERSION 3.13)
-
-set(ARCH "arm-dolce-eabi" CACHE STRING "Target architecture")
-set(CMAKE_INSTALL_PREFIX "$ENV{DOLCESDK}/" CACHE PATH "Install prefix")
-
-if(DEFINED ENV{DOLCESDK})
- set(_LIBS_GEN "$ENV{DOLCESDK}/bin/dolce-libs-gen")
-else()
- set(_LIBS_GEN "dolce-libs-gen")
-endif()
-set(LIBS_GEN "${_LIBS_GEN}" CACHE STRING "libs-gen command")
-
-include(ProcessorCount)
-ProcessorCount(_NPROC)
-if(_NPROC EQUAL 0)
- set(_NPROC 1)
-endif()
-set(NPROC "${_NPROC}" CACHE STRING "Number of processors")
-
-project(dolcesdk-target-headers LANGUAGES NONE)
-
-set(STUBS_DIR stubs)
-set(DB_FILE "${CMAKE_SOURCE_DIR}/db.yml")
-set(DB_365_FILE "${CMAKE_SOURCE_DIR}/db_365.yml")
-
-add_custom_command(OUTPUT "${STUBS_DIR}"
- DEPENDS "${DB_FILE}" "${DB_365_FILE}"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${STUBS_DIR}"
- COMMAND "${LIBS_GEN}" "${DB_FILE}" "${STUBS_DIR}/cex-3600"
- COMMAND "${LIBS_GEN}" "${DB_365_FILE}" "${STUBS_DIR}/cex-3650"
-)
+#
+# Copyright (C) 2021 Reiko Asakura. All Rights Reserved.
+#
+# Vita Development Suite Libraries
+#
-add_custom_target(prepare-stubs
- DEPENDS "${STUBS_DIR}"
- COMMENT "Preparing stubs"
-)
+cmake_minimum_required(VERSION 3.19)
-add_custom_target(build-stubs
- COMMAND make -C "${STUBS_DIR}/cex-3600" -j "${NPROC}"
- COMMAND make -C "${STUBS_DIR}/cex-3650" -j "${NPROC}"
- COMMENT "Building stubs with ${NPROC} jobs"
-)
+set(CMAKE_TOOLCHAIN_FILE $ENV{SCE_PSP2_SDK_DIR}/host_tools/build/cmake/psp2-snc-toolchain.cmake)
-add_dependencies(build-stubs prepare-stubs)
+project(vdsuite-libraries LANGUAGES NONE)
+
+include(ExternalProject)
+include(VitaDevelopmentSuite)
+
+# Install stub archives
add_custom_target(install-stubs
- COMMAND make -C "${STUBS_DIR}/cex-3600" install
- COMMAND make -C "${STUBS_DIR}/cex-3650" install
- COMMENT "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
)
-add_dependencies(install-stubs build-stubs)
+# Install headers
-install(DIRECTORY include/ DESTINATION "${ARCH}/include")
-install(FILES db.yml db_365.yml DESTINATION share)
+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}
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/api/GLES2 <INSTALL_DIR>/include/vdsuite/user/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}
+ 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>/include/vdsuite/user/EGL
+ COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/api/KHR <INSTALL_DIR>/include/vdsuite/user/KHR
+)