diff options
Diffstat (limited to 'cmake/ps1.cmake')
| -rw-r--r-- | cmake/ps1.cmake | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/cmake/ps1.cmake b/cmake/ps1.cmake new file mode 100644 index 0000000..bbc1c4c --- /dev/null +++ b/cmake/ps1.cmake @@ -0,0 +1,43 @@ +find_package(PSXSDK 0.7.1 REQUIRED) + +target_compile_definitions(${PROJECT_NAME} PUBLIC FIXMATH_FAST_SIN PSXSDK_DEBUG) +add_custom_target(exe ALL elf2exe ${PROJECT_NAME} + ${cdroot}/${PROJECT_NAME}.exe -mark="A homebrew game created with PSXSDK" + DEPENDS ${PROJECT_NAME}) +add_custom_target(iso ALL mkisofs -o ${PROJECT_NAME}.iso -V ${PROJECT_NAME} + -sysid PLAYSTATION ${cdroot} DEPENDS exe) + +set(license_prefix $ENV{PSXSDK_PATH}/share/licenses) + +if(VIDEO_MODE STREQUAL "VMODE_PAL") + set(region eur) +elseif(VIDEO_MODE STREQUAL "VMODE_NTSC") + set(ntsc_regions usa jap) + + if(NOT NTSC_REGION IN_LIST ntsc_regions) + message(FATAL_ERROR "Please define valid NTSC_REGION. Available options:\n" + "${ntsc_regions}\n" + "Run CMake again using one of the available options above e.g.:\n" + "cmake .. [options] -DNTSC_REGION=US") + endif() + + set(region ${NTSC_REGION}) +endif() + +set(license $ENV{PSXSDK_PATH}/share/licenses/info${region}.dat) + +add_custom_target(bin_cue ALL mkpsxiso ${PROJECT_NAME}.iso ${PROJECT_NAME}.bin + ${license} -s DEPENDS iso) + +if(NOT EXISTS "${cdroot}/system.cnf") + file(COPY "src/system.cnf" DESTINATION "${cdroot}") +endif() + +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(cflags ${cflags} -Og) +else() + set(cflags ${cflags} -Os) +endif() + +set(cflags ${cflags} -fshort-enums) +# libfixmath is already bundled with PSXSDK. |
