mirror of
https://gitlab.com/skmp/dca3-game.git
synced 2025-09-01 02:41:54 +02:00
Dreamcast Changes
This commit is contained in:
committed by
Stefanos Kornilios Mitsis Poiitidis
parent
310dd86371
commit
29550ea045
38
vendor/librw/cmake/FindSDL2.cmake
vendored
Normal file
38
vendor/librw/cmake/FindSDL2.cmake
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(SDL2 IMPORTED_TARGET "sdl2")
|
||||
if(TARGET PkgConfig::SDL2 AND NOT TARGET SDL2::SDL2)
|
||||
add_library(SDL2::SDL2 INTERFACE IMPORTED)
|
||||
set_property(TARGET SDL2::SDL2 PROPERTY INTERFACE_LINK_LIBRARIES PkgConfig::SDL2)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_library(SDL2main_LIBRARY SDL2main)
|
||||
|
||||
if(NOT SDL2_FOUND)
|
||||
find_path(SDL2_INCLUDE_DIR sdl2.h)
|
||||
find_library(SDL2_LIBRARY SDL2 SDL2d)
|
||||
|
||||
find_library(SDL2main_LIBRARY SDL2main)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(libuv
|
||||
REQUIRED_VARS SDL2_INCLUDE_DIR SDL2_LIBRARY
|
||||
)
|
||||
|
||||
if(NOT TARGET SDL2::SDL2)
|
||||
add_library(SDL2::SDL2 UNKNOWN IMPORTED)
|
||||
set_target_properties(SDL2::SDL2 PROPERTIES
|
||||
IMPORTED_LOCATION "${SDL2_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(SDL2main_LIBRARY AND NOT TARGET SDL2::SDL2main)
|
||||
add_library(SDL2::SDL2main UNKNOWN IMPORTED)
|
||||
set_target_properties(SDL2::SDL2main PROPERTIES
|
||||
IMPORTED_LOCATION "${SDL2main_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
22
vendor/librw/cmake/librw-config.cmake.in
vendored
Normal file
22
vendor/librw/cmake/librw-config.cmake.in
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/librw-targets.cmake")
|
||||
|
||||
set(LIBRW_PLATFORM "@LIBRW_PLATFORM@")
|
||||
set(LIBRW_PLATFORMS "@LIBRW_PLATFORMS@")
|
||||
set(LIBRW_PLATFORM_@LIBRW_PLATFORM@ ON)
|
||||
|
||||
if(LIBRW_PLATFORM_GL3)
|
||||
set(LIBRW_GL3_GFXLIB "@LIBRW_GL3_GFXLIB@")
|
||||
set(LIBRW_GL3_GFXLIBS "@LIBRW_GL3_GFXLIBS@")
|
||||
|
||||
set(OpenGL_GL_PREFERENCE GLVND)
|
||||
find_package(OpenGL)
|
||||
if(NOT TARGET OpenGL::OpenGL AND NOT TARGET OpenGL::EGL AND NOT TARGET OpenGL::GL)
|
||||
message(FATAL_ERROR "find_package(OpenGL) failed: no target was created")
|
||||
endif()
|
||||
|
||||
if(LIBRW_GL3_GFXLIB STREQUAL "GLFW")
|
||||
find_package(glfw3 REQUIRED)
|
||||
elseif(LIBRW_GL3_GFXLIB STREQUAL "SDL2")
|
||||
find_package(SDL2 REQUIRED)
|
||||
endif()
|
||||
endif()
|
37
vendor/librw/cmake/nx/NXFunctions.cmake
vendored
Normal file
37
vendor/librw/cmake/nx/NXFunctions.cmake
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
if(NOT COMMAND nx_generate_nacp)
|
||||
message(FATAL_ERROR "The `nx_generate_nacp` cmake command is not available. Please use an appropriate Nintendo Switch toolchain.")
|
||||
endif()
|
||||
|
||||
if(NOT COMMAND nx_create_nro)
|
||||
message(FATAL_ERROR "The `nx_create_nro` cmake command is not available. Please use an appropriate Nintendo Switch toolchain.")
|
||||
endif()
|
||||
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".elf")
|
||||
|
||||
function(librw_platform_target TARGET)
|
||||
cmake_parse_arguments(LPT "INSTALL" "" "" ${ARGN})
|
||||
|
||||
get_target_property(TARGET_TYPE "${TARGET}" TYPE)
|
||||
if(TARGET_TYPE STREQUAL "EXECUTABLE")
|
||||
nx_generate_nacp(${TARGET}.nacp
|
||||
NAME "${TARGET}"
|
||||
AUTHOR "${librw_AUTHOR}"
|
||||
VERSION "${librw_VERSION}"
|
||||
)
|
||||
|
||||
nx_create_nro(${TARGET}
|
||||
NACP ${TARGET}.nacp
|
||||
)
|
||||
|
||||
if(LIBRW_INSTALL AND LPT_INSTALL)
|
||||
get_target_property(TARGET_OUTPUT_NAME ${TARGET} OUTPUT_NAME)
|
||||
if(NOT TARGET_OUTPUT_NAME)
|
||||
set(TARGET_OUTPUT_NAME "${TARGET}")
|
||||
endif()
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_OUTPUT_NAME}.nro"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
18
vendor/librw/cmake/ps2/PS2Functions.cmake
vendored
Normal file
18
vendor/librw/cmake/ps2/PS2Functions.cmake
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
if(NOT COMMAND add_erl_executable)
|
||||
message(FATAL_ERROR "The `add_erl_executable` cmake command is not available. Please use an appropriate Playstation 2 toolchain.")
|
||||
endif()
|
||||
|
||||
function(librw_platform_target TARGET)
|
||||
cmake_parse_arguments(LPT "INSTALL" "" "" ${ARGN})
|
||||
|
||||
get_target_property(TARGET_TYPE "${TARGET}" TYPE)
|
||||
if(TARGET_TYPE STREQUAL "EXECUTABLE")
|
||||
add_erl_executable(${TARGET} OUTPUT_VAR ERL_FILE)
|
||||
|
||||
if(LIBRW_INSTALL AND LPT_INSTALL)
|
||||
install(FILES "${ERL_FILE}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
16
vendor/librw/cmake/ps2/cmaketoolchain/CMakeDSMCompiler.cmake.in
vendored
Normal file
16
vendor/librw/cmake/ps2/cmaketoolchain/CMakeDSMCompiler.cmake.in
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
set(CMAKE_DSM_COMPILER "@_CMAKE_DSM_COMPILER@")
|
||||
set(CMAKE_DSM_COMPILER_ARG1 "@_CMAKE_DSM_COMPILER_ARG1@")
|
||||
set(CMAKE_DSM_COMPILER_AR "@_CMAKE_DSM_COMPILER_AR@")
|
||||
set(CMAKE_RANLIB "@CMAKE_RANLIB@")
|
||||
set(CMAKE_DSM_COMPILER_RANLIB "@_CMAKE_DSM_COMPILER_RANLIB@")
|
||||
set(CMAKE_LINKER "@CMAKE_LINKER@")
|
||||
set(CMAKE_DSM_COMPILER_LOADED 1)
|
||||
set(CMAKE_DSM_COMPILER_ID "@_CMAKE_DSM_COMPILER_ID@")
|
||||
set(CMAKE_DSM_COMPILER_VERSION "@_CMAKE_DSM_COMPILER_VERSION@")
|
||||
set(CMAKE_DSM_COMPILER_ENV_VAR "@_CMAKE_DSM_COMPILER_ENV_VAR@")
|
||||
@_SET_CMAKE_DSM_COMPILER_ARCHITECTURE_ID@
|
||||
|
||||
set(CMAKE_DSM_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_DSM_LINKER_PREFERENCE 0)
|
||||
|
||||
@CMAKE_DSM_COMPILER_CUSTOM_CODE@
|
79
vendor/librw/cmake/ps2/cmaketoolchain/CMakeDSMInformation.cmake
vendored
Normal file
79
vendor/librw/cmake/ps2/cmaketoolchain/CMakeDSMInformation.cmake
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
if(UNIX)
|
||||
set(CMAKE_DSM_OUTPUT_EXTENSION .o)
|
||||
else()
|
||||
set(CMAKE_DSM_OUTPUT_EXTENSION .obj)
|
||||
endif()
|
||||
|
||||
set(CMAKE_INCLUDE_FLAG_DSM "-I")
|
||||
|
||||
set(CMAKE_DSM_FLAGS_INIT "$ENV{DSMFLAGS} ${CMAKE_DSM_FLAGS_INIT}")
|
||||
|
||||
# replace for CMake >= 3.11
|
||||
foreach(c "" _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO)
|
||||
string(STRIP "${CMAKE_DSM_FLAGS${c}_INIT}" CMAKE_DSM_FLAGS${c}_INIT)
|
||||
endforeach()
|
||||
|
||||
set (CMAKE_DSM_FLAGS "${CMAKE_DSM_FLAGS_INIT}" CACHE STRING
|
||||
"Flags used by the assembler during all build types.")
|
||||
|
||||
if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
|
||||
get_property(_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
# default build type is none
|
||||
if(NOT _GENERATOR_IS_MULTI_CONFIG AND NOT CMAKE_NO_BUILD_TYPE)
|
||||
set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
|
||||
"Choose the type of build, options are: None, Debug Release RelWithDebInfo MinSizeRel.")
|
||||
endif()
|
||||
unset(_GENERATOR_IS_MULTI_CONFIG)
|
||||
set (CMAKE_DSM_FLAGS_DEBUG "${CMAKE_DSM_FLAGS_DEBUG_INIT}" CACHE STRING
|
||||
"Flags used by the assembler during debug builds.")
|
||||
set (CMAKE_DSM_FLAGS_MINSIZEREL "${CMAKE_DSM_FLAGS_MINSIZEREL_INIT}" CACHE STRING
|
||||
"Flags used by the assembler during release minsize builds.")
|
||||
set (CMAKE_DSM_FLAGS_RELEASE "${CMAKE_DSM_FLAGS_RELEASE_INIT}" CACHE STRING
|
||||
"Flags used by the assembler during release builds.")
|
||||
set (CMAKE_DSM_FLAGS_RELWITHDEBINFO "${CMAKE_DSM_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
|
||||
"Flags used by the assembler during Release with Debug Info builds.")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(CMAKE_DSM_FLAGS
|
||||
CMAKE_DSM_FLAGS_DEBUG
|
||||
CMAKE_DSM_FLAGS_MINSIZEREL
|
||||
CMAKE_DSM_FLAGS_RELEASE
|
||||
CMAKE_DSM_FLAGS_RELWITHDEBINFO
|
||||
)
|
||||
# WITH: cmake_initialize_per_config_variable(CMAKE_DSM_FLAGS "Flags used by the DSM compiler")
|
||||
|
||||
if(NOT CMAKE_DSM_COMPILE_OBJECT)
|
||||
set(CMAKE_DSM_COMPILE_OBJECT "<CMAKE_DSM_COMPILER> <INCLUDES> <FLAGS> -o <OBJECT> <SOURCE>")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_DSM_CREATE_STATIC_LIBRARY)
|
||||
set(CMAKE_DSM_CREATE_STATIC_LIBRARY
|
||||
"<CMAKE_DSM_COMPILER_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
|
||||
"<CMAKE_DSM_COMPILER_RANLIB> <TARGET>")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_DSM_LINK_EXECUTABLE)
|
||||
set(CMAKE_DSM_LINK_EXECUTABLE
|
||||
"<CMAKE_DSM_COMPILER> <FLAGS> <CMAKE_DSM_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_EXECUTABLE_RUNTIME_DSM_FLAG)
|
||||
set(CMAKE_EXECUTABLE_RUNTIME_DSM_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_DSM_FLAG})
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_EXECUTABLE_RUNTIME_DSM_FLAG_SEP)
|
||||
set(CMAKE_EXECUTABLE_RUNTIME_DSM_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_DSM_FLAG_SEP})
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_EXECUTABLE_RPATH_LINK_DSM_FLAG)
|
||||
set(CMAKE_EXECUTABLE_RPATH_LINK_DSM_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_DSM_FLAG})
|
||||
endif()
|
||||
|
||||
# to be done
|
||||
if(NOT CMAKE_DSM_CREATE_SHARED_LIBRARY)
|
||||
set(CMAKE_DSM_CREATE_SHARED_LIBRARY)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_DSM_CREATE_SHARED_MODULE)
|
||||
set(CMAKE_DSM_CREATE_SHARED_MODULE)
|
||||
endif()
|
87
vendor/librw/cmake/ps2/cmaketoolchain/CMakeDetermineDSMCompiler.cmake
vendored
Normal file
87
vendor/librw/cmake/ps2/cmaketoolchain/CMakeDetermineDSMCompiler.cmake
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
|
||||
|
||||
if (NOT CMAKE_DSM_COMPILER)
|
||||
message(FATAL_ERROR "Need CMAKE_DSM_COMPILER set")
|
||||
endif()
|
||||
|
||||
_cmake_find_compiler_path(DSM)
|
||||
mark_as_advanced(CMAKE_DSM_COMPILER)
|
||||
|
||||
if (NOT CMAKE_DSM_COMPILER_ID)
|
||||
# Table of per-vendor compiler id flags with expected output.
|
||||
list(APPEND CMAKE_DSM_COMPILER_ID_VENDORS GNU )
|
||||
set(CMAKE_DSM_COMPILER_ID_VENDOR_FLAGS_GNU "--version")
|
||||
set(CMAKE_DSM_COMPILER_ID_VENDOR_REGEX_GNU "(GNU assembler)|(GCC)|(Free Software Foundation)")
|
||||
|
||||
include(CMakeDetermineCompilerId)
|
||||
cmake_determine_compiler_id_vendor(DSM "")
|
||||
|
||||
endif()
|
||||
|
||||
if (NOT _CMAKE_TOOLCHAIN_LOCATION)
|
||||
get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_DSM_COMPILER}" PATH)
|
||||
endif()
|
||||
|
||||
if (CMAKE_DSM_COMPILER_ID)
|
||||
if (CMAKE_DSM_COMPILER_VERSION)
|
||||
set(_version " ${CMAKE_DSM_COMPILER_VERSION}")
|
||||
else()
|
||||
set(_version "")
|
||||
endif()
|
||||
message(STATUS "The DSM compiler identification is ${CMAKE_DSM_COMPILER_ID}${_version}")
|
||||
unset(_version)
|
||||
else()
|
||||
message(STATUS "The DSM compiler identification is unknown")
|
||||
endif()
|
||||
|
||||
if (NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
get_filename_component(COMPILER_BASENAME "${CMAKE_DSM_COMPILER}" NAME)
|
||||
if (COMPILER_BASENAME MATCHES "^(.+1)g?as(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
|
||||
set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
set(_CMAKE_PROCESSING_LANGUAGE "DSM")
|
||||
find_program(CMAKE_DSM_COMPILER_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
find_program(CMAKE_DSM_COMPILER_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
find_program(CMAKE_DSM_COMPILER_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
find_program(CMAKE_DSM_COMPILER_NM NAMES ${_CMAKE_TOOLCHAIN_PREFIX}nm HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
find_program(CMAKE_DSM_COMPILER_OBJDUMP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objdump HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
find_program(CMAKE_DSM_COMPILER_OBJCOPY NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objcopy HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
|
||||
unset(_CMAKE_PROCESSING_LANGUAGE)
|
||||
|
||||
set(CMAKE_DSM_COMPILER_ENV_VAR "DSM")
|
||||
|
||||
if (CMAKE_DSM_COMPILER)
|
||||
message(STATUS "Found DSM assembler: ${CMAKE_DSM_COMPILER}")
|
||||
else()
|
||||
message(STATUS "Didn't find assembler")
|
||||
endif()
|
||||
|
||||
foreach(_var
|
||||
COMPILER
|
||||
COMPILER_ID
|
||||
COMPILER_ARG1
|
||||
COMPILER_ENV_VAR
|
||||
COMPILER_AR
|
||||
COMPILER_RANLIB
|
||||
COMPILER_VERSION
|
||||
)
|
||||
set(_CMAKE_DSM_${_var} "${CMAKE_DSM_${_var}}")
|
||||
endforeach()
|
||||
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeDSMCompiler.cmake.in"
|
||||
"${CMAKE_PLATFORM_INFO_DIR}/CMakeDSMCompiler.cmake" @ONLY)
|
||||
|
||||
foreach(_var
|
||||
COMPILER
|
||||
COMPILER_ID
|
||||
COMPILER_ARG1
|
||||
COMPILER_ENV_VAR
|
||||
COMPILER_AR
|
||||
COMPILER_VERSION
|
||||
)
|
||||
unset(_CMAKE_DSM_${_var})
|
||||
endforeach()
|
7
vendor/librw/cmake/ps2/cmaketoolchain/CMakeTestDSMCompiler.cmake
vendored
Normal file
7
vendor/librw/cmake/ps2/cmaketoolchain/CMakeTestDSMCompiler.cmake
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
set(_ASM_COMPILER_WORKS 0)
|
||||
|
||||
if(CMAKE_DSM_COMPILER)
|
||||
set(_DSM_COMPILER_WORKS)
|
||||
endif()
|
||||
|
||||
set(CMAKE_DSM_COMPILER_WORKS ${_DSM_COMPILER_WORKS} CACHE INTERNAL "")
|
1
vendor/librw/cmake/ps2/cmaketoolchain/Platform/PlayStation2.cmake
vendored
Normal file
1
vendor/librw/cmake/ps2/cmaketoolchain/Platform/PlayStation2.cmake
vendored
Normal file
@@ -0,0 +1 @@
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".elf")
|
24
vendor/librw/cmake/ps2/cmaketoolchain/conanfile.py
vendored
Normal file
24
vendor/librw/cmake/ps2/cmaketoolchain/conanfile.py
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
from conans import ConanFile
|
||||
import os
|
||||
import shutil
|
||||
|
||||
|
||||
class Ps2devCMakeToolchainConan(ConanFile):
|
||||
name = "ps2dev-cmaketoolchain"
|
||||
description = "CMake toolchain script for ps2dev"
|
||||
topics = "ps2", "sdk", "library", "sony", "playstation", "ps2"
|
||||
|
||||
def export_sources(self):
|
||||
self.copy("*.cmake*", dst="cmake")
|
||||
self.copy("Platform", dst="cmake")
|
||||
|
||||
def package(self):
|
||||
shutil.copytree(os.path.join(self.source_folder, "cmake"),
|
||||
os.path.join(self.package_folder, "cmake"))
|
||||
|
||||
def package_info(self):
|
||||
self.user_info.cmake_dir = os.path.join(self.package_folder, "cmake").replace("\\", "/")
|
||||
|
||||
cmake_toolchain_file = os.path.join(self.package_folder, "cmake", "toolchain_ps2_ee.cmake").replace("\\", "/")
|
||||
self.user_info.cmake_toolchain_file = cmake_toolchain_file
|
||||
self.cpp_info.CONAN_CMAKE_TOOLCHAIN_FILE = cmake_toolchain_file
|
92
vendor/librw/cmake/ps2/cmaketoolchain/toolchain_ps2_ee.cmake
vendored
Normal file
92
vendor/librw/cmake/ps2/cmaketoolchain/toolchain_ps2_ee.cmake
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
||||
|
||||
set(CMAKE_SYSTEM_NAME "PlayStation2")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "mips64r5900el")
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
|
||||
set(CMAKE_NO_SYSTEM_FROM_IMPORTED ON)
|
||||
|
||||
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
||||
|
||||
if(NOT DEFINED ENV{PS2DEV})
|
||||
message(FATAL_ERROR "Need environment variable PS2DEV set")
|
||||
endif()
|
||||
if(NOT DEFINED ENV{PS2SDK})
|
||||
message(FATAL_ERROR "Need environment variable PS2SDK set")
|
||||
endif()
|
||||
if(NOT DEFINED ENV{GSKIT})
|
||||
message(FATAL_ERROR "Need environment variable PS2SDK set")
|
||||
endif()
|
||||
|
||||
set(PS2DEV "$ENV{PS2DEV}")
|
||||
set(PS2SDK "$ENV{PS2SDK}")
|
||||
set(GSKIT "$ENV{GSKIT}")
|
||||
|
||||
if(NOT IS_DIRECTORY "${PS2DEV}")
|
||||
message(FATAL_ERROR "PS2DEV must be a folder path (${PS2DEV})")
|
||||
endif()
|
||||
|
||||
if(NOT IS_DIRECTORY "${PS2SDK}")
|
||||
message(FATAL_ERROR "PS2SDK must be a folder path (${PS2SDK})")
|
||||
endif()
|
||||
|
||||
if(NOT IS_DIRECTORY "${GSKIT}")
|
||||
message(FATAL_ERROR "GSKIT must be a folder path (${GSKIT})")
|
||||
endif()
|
||||
|
||||
set(CMAKE_DSM_SOURCE_FILE_EXTENSIONS "dsm")
|
||||
|
||||
set(CMAKE_C_COMPILER "${PS2DEV}/ee/bin/mips64r5900el-ps2-elf-gcc" CACHE FILEPATH "C compiler")
|
||||
set(CMAKE_CXX_COMPILER "${PS2DEV}/ee/bin/mips64r5900el-ps2-elf-g++" CACHE FILEPATH "CXX compiler")
|
||||
set(CMAKE_ASM_COMPILER "${PS2DEV}/ee/bin/mips64r5900el-ps2-elf-g++" CACHE FILEPATH "ASM assembler")
|
||||
set(CMAKE_DSM_COMPILER "${PS2DEV}/dvp/bin/dvp-as" CACHE FILEPATH "DSM assembler")
|
||||
set(CMAKE_AR "${PS2DEV}/ee/bin/mips64r5900el-ps2-elf-ar" CACHE FILEPATH "archiver")
|
||||
set(CMAKE_LINKER "${PS2DEV}/ee/bin/mips64r5900el-ps2-elf-ld" CACHE FILEPATH "Linker")
|
||||
set(CMAKE_RANLIB "${PS2DEV}/ee/bin/mips64r5900el-ps2-elf-ranlib" CACHE FILEPATH "ranlib")
|
||||
set(CMAKE_STRIP "${PS2DEV}/ee/bin/mips64r5900el-ps2-elf-strip" CACHE FILEPATH "strip")
|
||||
|
||||
set(CMAKE_ASM_FLAGS_INIT "-G0 -I\"${PS2SDK}/ee/include\" -I\"${PS2SDK}/common/include\" -D_EE")
|
||||
set(CMAKE_C_FLAGS_INIT "-G0 -fno-common -I\"${PS2SDK}/ee/include\" -I\"${PS2SDK}/common/include\" -D_EE")
|
||||
set(CMAKE_CXX_FLAGS_INIT "-G0 -fno-common -I\"${PS2SDK}/ee/include\" -I\"${PS2SDK}/common/include\" -D_EE")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-G0 -L\"${PS2SDK}/ee/lib\" -Wl,-r -Wl,-d")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH "${PS2DEV}/ee" "${PS2SDK}/ee" "${GSKIT}")
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
set(PS2 1)
|
||||
set(EE 1)
|
||||
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".elf")
|
||||
|
||||
function(add_erl_executable TARGET)
|
||||
cmake_parse_arguments("AEE" "" "OUTPUT_VAR" "" ${ARGN})
|
||||
|
||||
get_target_property(output_dir "${TARGET}" RUNTIME_OUTPUT_DIRECTORY)
|
||||
if(NOT output_dir)
|
||||
set(output_dir ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
get_target_property(output_name ${TARGET} OUTPUT_NAME)
|
||||
if(NOT output_name)
|
||||
set(output_name ${TARGET})
|
||||
endif()
|
||||
set(outfile "${output_dir}/${output_name}.erl")
|
||||
|
||||
add_custom_command(OUTPUT "${outfile}"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:${TARGET}>" "${outfile}"
|
||||
COMMAND "${CMAKE_STRIP}" --strip-unneeded -R .mdebug.eabi64 -R .reginfo -R .comment "${outfile}"
|
||||
DEPENDS ${TARGET}
|
||||
)
|
||||
add_custom_target("${TARGET}_erl" ALL
|
||||
DEPENDS "${outfile}"
|
||||
)
|
||||
|
||||
if(AEE_OUTPUT_VAR)
|
||||
set("${AEE_OUTPUT_VAR}" "${outfile}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
Reference in New Issue
Block a user