mirror of
https://github.com/aseprite/aseprite.git
synced 2024-11-20 14:21:45 +00:00
220 lines
8.4 KiB
CMake
220 lines
8.4 KiB
CMake
|
# Use this command to build the PSP port of Allegro:
|
||
|
#
|
||
|
# cmake -DWANT_TESTS=off -DWANT_TOOLS=off -DWANT_LOGG=off -DWANT_ALLEGROGL=off -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-psp-gcc.cmake .
|
||
|
#
|
||
|
# or for out of source:
|
||
|
#
|
||
|
# cmake -DWANT_TESTS=off -DWANT_TOOLS=off -DWANT_LOGG=off -DWANT_ALLEGROGL=off -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-psp-gcc.cmake ..
|
||
|
#
|
||
|
# You will need at least CMake 2.6.0.
|
||
|
#
|
||
|
# Adjust the following paths to suit your environment.
|
||
|
#
|
||
|
# This file was based on http://www.cmake.org/Wiki/CmakeMingw
|
||
|
|
||
|
# The name of the target operating system.
|
||
|
set(CMAKE_SYSTEM_NAME Generic)
|
||
|
|
||
|
# Location of target environment.
|
||
|
find_program(psp-config_SCRIPT psp-config)
|
||
|
if (psp-config_SCRIPT)
|
||
|
execute_process(COMMAND ${psp-config_SCRIPT}
|
||
|
ARGS --psp-prefix
|
||
|
OUTPUT_VARIABLE PSP_PREFIX
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
execute_process(COMMAND ${psp-config_SCRIPT}
|
||
|
ARGS --pspsdk-path
|
||
|
OUTPUT_VARIABLE PSPSDK_PATH
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
else (psp-config_SCRIPT)
|
||
|
message(FATAL_ERROR "psp-config was not found.\nInstall the PSPDEV toolchain or update the $PATH environment variable.")
|
||
|
endif (psp-config_SCRIPT)
|
||
|
|
||
|
set(CMAKE_SYSTEM_INCLUDE_PATH "${PSP_PREFIX}/include")
|
||
|
set(CMAKE_SYSTEM_LIBRARY_PATH "${PSP_PREFIX}/lib")
|
||
|
set(CMAKE_SYSTEM_PROGRAM_PATH "${PSP_PREFIX}/bin")
|
||
|
|
||
|
# Which compilers to use for C and C++.
|
||
|
set(CMAKE_C_COMPILER psp-gcc)
|
||
|
set(CMAKE_CXX_COMPILER psp-g++)
|
||
|
|
||
|
# Needed to pass the compiler tests.
|
||
|
set(LINK_DIRECTORIES ${PSPSDK_PATH}/lib)
|
||
|
set(LINK_LIBRARIES -lc -lpspuser -lpspkernel -lc)
|
||
|
|
||
|
# Adjust the default behaviour of the FIND_XXX() commands:
|
||
|
# search headers and libraries in the target environment, search
|
||
|
# programs in the host environment.
|
||
|
set(CMAKE_FIND_ROOT_PATH ${PSP_PREFIX})
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||
|
|
||
|
# After building the ELF binary build the PSP executable.
|
||
|
function(add_psp_executable nm)
|
||
|
get_target_property(PSP_EXECUTABLE_OUTPUT_NAME ${nm} OUTPUT_NAME)
|
||
|
if (NOT PSP_EXECUTABLE_OUTPUT_NAME)
|
||
|
set(PSP_EXECUTABLE_OUTPUT_NAME ${nm})
|
||
|
endif(NOT PSP_EXECUTABLE_OUTPUT_NAME)
|
||
|
set_target_properties(
|
||
|
${nm}
|
||
|
PROPERTIES LINK_FLAGS "-specs=${PSPSDK_PATH}/lib/prxspecs -Wl,-q,-T${PSPSDK_PATH}/lib/linkfile.prx ${PSPSDK_PATH}/lib/prxexports.o"
|
||
|
)
|
||
|
add_custom_command(
|
||
|
TARGET ${nm}
|
||
|
POST_BUILD
|
||
|
COMMAND psp-fixup-imports ${PSP_EXECUTABLE_OUTPUT_NAME}
|
||
|
COMMAND mksfo '${PSP_EXECUTABLE_OUTPUT_NAME}' PARAM.SFO
|
||
|
COMMAND psp-prxgen ${PSP_EXECUTABLE_OUTPUT_NAME} ${PSP_EXECUTABLE_OUTPUT_NAME}.prx
|
||
|
COMMAND pack-pbp EBOOT.PBP PARAM.SFO NULL NULL NULL NULL NULL ${PSP_EXECUTABLE_OUTPUT_NAME}.prx NULL
|
||
|
)
|
||
|
endfunction()
|
||
|
|
||
|
set(PSP 1)
|
||
|
# Use this command to build the PSP port of Allegro:
|
||
|
#
|
||
|
# cmake -DWANT_TESTS=off -DWANT_TOOLS=off -DWANT_LOGG=off -DWANT_ALLEGROGL=off -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-psp-gcc.cmake .
|
||
|
#
|
||
|
# or for out of source:
|
||
|
#
|
||
|
# cmake -DWANT_TESTS=off -DWANT_TOOLS=off -DWANT_LOGG=off -DWANT_ALLEGROGL=off -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-psp-gcc.cmake ..
|
||
|
#
|
||
|
# You will need at least CMake 2.6.0.
|
||
|
#
|
||
|
# Adjust the following paths to suit your environment.
|
||
|
#
|
||
|
# This file was based on http://www.cmake.org/Wiki/CmakeMingw
|
||
|
|
||
|
# The name of the target operating system.
|
||
|
set(CMAKE_SYSTEM_NAME Generic)
|
||
|
|
||
|
# Location of target environment.
|
||
|
find_program(psp-config_SCRIPT psp-config)
|
||
|
if (psp-config_SCRIPT)
|
||
|
execute_process(COMMAND ${psp-config_SCRIPT}
|
||
|
ARGS --psp-prefix
|
||
|
OUTPUT_VARIABLE PSP_PREFIX
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
execute_process(COMMAND ${psp-config_SCRIPT}
|
||
|
ARGS --pspsdk-path
|
||
|
OUTPUT_VARIABLE PSPSDK_PATH
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
else (psp-config_SCRIPT)
|
||
|
message(FATAL_ERROR "psp-config was not found.\nInstall the PSPDEV toolchain or update the $PATH environment variable.")
|
||
|
endif (psp-config_SCRIPT)
|
||
|
|
||
|
set(CMAKE_SYSTEM_INCLUDE_PATH "${PSP_PREFIX}/include")
|
||
|
set(CMAKE_SYSTEM_LIBRARY_PATH "${PSP_PREFIX}/lib")
|
||
|
set(CMAKE_SYSTEM_PROGRAM_PATH "${PSP_PREFIX}/bin")
|
||
|
|
||
|
# Which compilers to use for C and C++.
|
||
|
set(CMAKE_C_COMPILER psp-gcc)
|
||
|
set(CMAKE_CXX_COMPILER psp-g++)
|
||
|
|
||
|
# Needed to pass the compiler tests.
|
||
|
set(LINK_DIRECTORIES ${PSPSDK_PATH}/lib)
|
||
|
set(LINK_LIBRARIES -lc -lpspuser -lpspkernel -lc)
|
||
|
|
||
|
# Adjust the default behaviour of the FIND_XXX() commands:
|
||
|
# search headers and libraries in the target environment, search
|
||
|
# programs in the host environment.
|
||
|
set(CMAKE_FIND_ROOT_PATH ${PSP_PREFIX})
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||
|
|
||
|
# After building the ELF binary build the PSP executable.
|
||
|
function(add_psp_executable nm)
|
||
|
get_target_property(PSP_EXECUTABLE_OUTPUT_NAME ${nm} OUTPUT_NAME)
|
||
|
if (NOT PSP_EXECUTABLE_OUTPUT_NAME)
|
||
|
set(PSP_EXECUTABLE_OUTPUT_NAME ${nm})
|
||
|
endif(NOT PSP_EXECUTABLE_OUTPUT_NAME)
|
||
|
set_target_properties(
|
||
|
${nm}
|
||
|
PROPERTIES LINK_FLAGS "-specs=${PSPSDK_PATH}/lib/prxspecs -Wl,-q,-T${PSPSDK_PATH}/lib/linkfile.prx ${PSPSDK_PATH}/lib/prxexports.o"
|
||
|
)
|
||
|
add_custom_command(
|
||
|
TARGET ${nm}
|
||
|
POST_BUILD
|
||
|
COMMAND psp-fixup-imports ${PSP_EXECUTABLE_OUTPUT_NAME}
|
||
|
COMMAND mksfo '${PSP_EXECUTABLE_OUTPUT_NAME}' PARAM.SFO
|
||
|
COMMAND psp-prxgen ${PSP_EXECUTABLE_OUTPUT_NAME} ${PSP_EXECUTABLE_OUTPUT_NAME}.prx
|
||
|
COMMAND pack-pbp EBOOT.PBP PARAM.SFO NULL NULL NULL NULL NULL ${PSP_EXECUTABLE_OUTPUT_NAME}.prx NULL
|
||
|
)
|
||
|
endfunction()
|
||
|
|
||
|
set(PSP 1)
|
||
|
# Use this command to build the PSP port of Allegro:
|
||
|
#
|
||
|
# cmake -DWANT_TESTS=off -DWANT_TOOLS=off -DWANT_LOGG=off -DWANT_ALLEGROGL=off -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-psp-gcc.cmake .
|
||
|
#
|
||
|
# or for out of source:
|
||
|
#
|
||
|
# cmake -DWANT_TESTS=off -DWANT_TOOLS=off -DWANT_LOGG=off -DWANT_ALLEGROGL=off -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-psp-gcc.cmake ..
|
||
|
#
|
||
|
# You will need at least CMake 2.6.0.
|
||
|
#
|
||
|
# Adjust the following paths to suit your environment.
|
||
|
#
|
||
|
# This file was based on http://www.cmake.org/Wiki/CmakeMingw
|
||
|
|
||
|
# The name of the target operating system.
|
||
|
set(CMAKE_SYSTEM_NAME Generic)
|
||
|
|
||
|
# Location of target environment.
|
||
|
find_program(psp-config_SCRIPT psp-config)
|
||
|
if (psp-config_SCRIPT)
|
||
|
execute_process(COMMAND ${psp-config_SCRIPT}
|
||
|
ARGS --psp-prefix
|
||
|
OUTPUT_VARIABLE PSP_PREFIX
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
execute_process(COMMAND ${psp-config_SCRIPT}
|
||
|
ARGS --pspsdk-path
|
||
|
OUTPUT_VARIABLE PSPSDK_PATH
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
else (psp-config_SCRIPT)
|
||
|
message(FATAL_ERROR "psp-config was not found.\nInstall the PSPDEV toolchain or update the $PATH environment variable.")
|
||
|
endif (psp-config_SCRIPT)
|
||
|
|
||
|
set(CMAKE_SYSTEM_INCLUDE_PATH "${PSP_PREFIX}/include")
|
||
|
set(CMAKE_SYSTEM_LIBRARY_PATH "${PSP_PREFIX}/lib")
|
||
|
set(CMAKE_SYSTEM_PROGRAM_PATH "${PSP_PREFIX}/bin")
|
||
|
|
||
|
# Which compilers to use for C and C++.
|
||
|
set(CMAKE_C_COMPILER psp-gcc)
|
||
|
set(CMAKE_CXX_COMPILER psp-g++)
|
||
|
|
||
|
# Needed to pass the compiler tests.
|
||
|
set(LINK_DIRECTORIES ${PSPSDK_PATH}/lib)
|
||
|
set(LINK_LIBRARIES -lc -lpspuser -lpspkernel -lc)
|
||
|
|
||
|
# Adjust the default behaviour of the FIND_XXX() commands:
|
||
|
# search headers and libraries in the target environment, search
|
||
|
# programs in the host environment.
|
||
|
set(CMAKE_FIND_ROOT_PATH ${PSP_PREFIX})
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||
|
|
||
|
# After building the ELF binary build the PSP executable.
|
||
|
function(add_psp_executable nm)
|
||
|
get_target_property(PSP_EXECUTABLE_OUTPUT_NAME ${nm} OUTPUT_NAME)
|
||
|
if (NOT PSP_EXECUTABLE_OUTPUT_NAME)
|
||
|
set(PSP_EXECUTABLE_OUTPUT_NAME ${nm})
|
||
|
endif(NOT PSP_EXECUTABLE_OUTPUT_NAME)
|
||
|
set_target_properties(
|
||
|
${nm}
|
||
|
PROPERTIES LINK_FLAGS "-specs=${PSPSDK_PATH}/lib/prxspecs -Wl,-q,-T${PSPSDK_PATH}/lib/linkfile.prx ${PSPSDK_PATH}/lib/prxexports.o"
|
||
|
)
|
||
|
add_custom_command(
|
||
|
TARGET ${nm}
|
||
|
POST_BUILD
|
||
|
COMMAND psp-fixup-imports ${PSP_EXECUTABLE_OUTPUT_NAME}
|
||
|
COMMAND mksfo '${PSP_EXECUTABLE_OUTPUT_NAME}' PARAM.SFO
|
||
|
COMMAND psp-prxgen ${PSP_EXECUTABLE_OUTPUT_NAME} ${PSP_EXECUTABLE_OUTPUT_NAME}.prx
|
||
|
COMMAND pack-pbp EBOOT.PBP PARAM.SFO NULL NULL NULL NULL NULL ${PSP_EXECUTABLE_OUTPUT_NAME}.prx NULL
|
||
|
)
|
||
|
endfunction()
|
||
|
|
||
|
set(PSP 1)
|