diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-05-24 22:19:34 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-05-24 22:20:04 +0200 |
| commit | 7b8c0725f0d1ff0f4ae4b2f24e512ffff73bf647 (patch) | |
| tree | 0b120e5d50eeca30789e653914d6dc7ec93d62b3 /CMakeLists.txt | |
| parent | d07b682c9b283216d4c2d1f046483b165958d929 (diff) | |
Split CMakeLists.txt into platform-specific *.cmake
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 88 |
1 files changed, 5 insertions, 83 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ca63a4..4dfad29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,67 +27,15 @@ project(rts) add_executable(${PROJECT_NAME} "src/main.c") set(cdroot ${CMAKE_BINARY_DIR}/cdimg) +# Avoid C11 since it is not supported by the i386-mingw32 toolchain. +set(cflags -Wall -g3 -ffunction-sections -fdata-sections -pedantic -std=c99) if(PS1_BUILD) - file(MAKE_DIRECTORY ${cdroot}) - target_link_directories(${PROJECT_NAME} PUBLIC $ENV{PSXSDK_PATH}/lib) - target_link_libraries(${PROJECT_NAME} PUBLIC -lpsx -lfixmath) - target_compile_definitions(${PROJECT_NAME} PUBLIC FIXMATH_FAST_SIN PSXSDK_DEBUG) - target_include_directories(${PROJECT_NAME} PRIVATE . $ENV{PSXSDK_PATH}/include) - 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 $ENV{PSXSDK_PATH}/share/licenses/infoeur.dat) - add_custom_target(bin_cue ALL mkpsxiso ${PROJECT_NAME}.iso ${PROJECT_NAME}.bin - ${license} -s DEPENDS iso) - # add_custom_target(libpsx ALL DEPENDS $ENV{PSXSDK_PATH}/lib/libpsx.a) - # add_dependencies(${PROJECT_NAME} libpsx) - - if(NOT EXISTS "${cdroot}/system.cnf") - file(COPY "src/system.cnf" DESTINATION "${cdroot}") - endif() + include("cmake/ps1.cmake") elseif(WIN9X_BUILD) - file(MAKE_DIRECTORY ${cdroot}) - if("$ENV{SDL_PATH}" STREQUAL "") - message(FATAL_ERROR "please define env variable SDL_PATH") - elseif("$ENV{SDL_TTF_PATH}" STREQUAL "") - message(FATAL_ERROR "please define env variable SDL_TTF_PATH") - elseif("$ENV{FREETYPE_PATH}" STREQUAL "") - message(FATAL_ERROR "please define env variable FREETYPE_PATH") - elseif("$ENV{SDL_MIXER_PATH}" STREQUAL "") - message(FATAL_ERROR "please define env variable SDL_MIXER_PATH") - endif() - - add_custom_command(OUTPUT ${cdroot}/${PROJECT_NAME} - COMMAND i386-mingw32-strip ${PROJECT_NAME} -o ${cdroot}/${PROJECT_NAME} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - DEPENDS ${PROJECT_NAME} - VERBATIM) - add_custom_target(stripped-exe ALL DEPENDS ${cdroot}/${PROJECT_NAME}) - - target_link_directories(${PROJECT_NAME} PRIVATE $ENV{SDL_PATH}/lib - $ENV{SDL_TTF_PATH}/lib $ENV{FREETYPE_PATH}/lib - $ENV{SDL_MIXER_PATH}/lib) - include_directories($ENV{SDL_PATH}/include - $ENV{SDL_PATH}/include/SDL $ENV{SDL_TTF_PATH}/include - $ENV{FREETYPE_PATH}/include - $ENV{SDL_MIXER_PATH}/include) - add_compile_options(-march=i386) - link_libraries(gdi32 user32 winmm dxguid freetype) - set(SDL1_2_BUILD 1) + include("cmake/win9x.cmake") elseif(HOST_BUILD) - file(MAKE_DIRECTORY ${cdroot}) - find_package(SDL 1.2 REQUIRED) - find_package(SDL_mixer 1.2 REQUIRED) - set(SDL1_2_BUILD 1) - #find_package(SDL_ttf 2.0 REQUIRED) -endif() - -# libfixmath is already bundled with PSXSDK. -if(NOT PS1_BUILD) - add_subdirectory(libfixmath) + include("cmake/host.cmake") endif() add_subdirectory("res") @@ -118,32 +66,6 @@ set(interfaces tech ) -# Avoid C11 since it is not supported by the i386-mingw32 toolchain. -set(cflags -Wall -g3 -ffunction-sections -fdata-sections -pedantic -std=c99) - -if(WIN9X_BUILD) - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - # i386-mingw32-gcc 3.4.5 does not support -Og. - set(cflags ${cflags} -O0) - else() - set(cflags ${cflags} -O2) - endif() -elseif(PS1_BUILD) - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(cflags ${cflags} -Og) - else() - set(cflags ${cflags} -Os) - endif() - - set(cflags ${cflags} -fshort-enums) -else() - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(cflags ${cflags} -Og) - else() - set(cflags ${cflags} -O3) - endif() -endif() - target_compile_options(${PROJECT_NAME} PUBLIC ${cflags}) foreach(c ${components}) |
