53 lines
1.6 KiB
CMake
53 lines
1.6 KiB
CMake
set(inc "inc")
|
|
set(privinc "privinc")
|
|
set(deps util)
|
|
|
|
if(PS1_BUILD)
|
|
set(src ${src}
|
|
"ps1/src/4line.c"
|
|
"ps1/src/env.c"
|
|
"ps1/src/heap.c"
|
|
"ps1/src/init.c"
|
|
"ps1/src/rect.c"
|
|
"ps1/src/sort.c"
|
|
"ps1/src/sprite.c"
|
|
"ps1/src/quad.c")
|
|
set(inc ${inc} "ps1/inc")
|
|
set(privinc ${privinc} "ps1/privinc")
|
|
set(privdeps ${privdeps} system)
|
|
elseif(SDL1_2_BUILD)
|
|
set(inc ${inc} "sdl-1.2/inc")
|
|
set(privinc ${privinc} "sdl-1.2/privinc")
|
|
set(src ${src}
|
|
"sdl-1.2/src/env.c"
|
|
"sdl-1.2/src/line.c"
|
|
"sdl-1.2/src/rect.c"
|
|
"sdl-1.2/src/sprite.c"
|
|
"sdl-1.2/src/quad.c")
|
|
set(deps ${deps} SDL)
|
|
set(privdeps ${privdeps} header)
|
|
endif()
|
|
|
|
add_library(gfx ${src})
|
|
target_include_directories(gfx PUBLIC ${inc})
|
|
target_include_directories(gfx PRIVATE ${privinc})
|
|
target_link_libraries(gfx PUBLIC ${deps} PRIVATE ${privdeps})
|
|
|
|
if(PS1_BUILD)
|
|
set(modes VMODE_PAL VMODE_NTSC)
|
|
|
|
if(VIDEO_MODE)
|
|
if(NOT "${VIDEO_MODE}" IN_LIST modes)
|
|
message(FATAL_ERROR "Invalid video mode ${VIDEO_MODE}. Available options:\n"
|
|
"${modes}\n"
|
|
"Run CMake again using one of the available video modes e.g.: cmake .. -DVIDEO_MODE=VMODE_PAL")
|
|
endif()
|
|
|
|
target_compile_definitions(gfx PRIVATE VIDEO_MODE=${VIDEO_MODE})
|
|
else()
|
|
message(FATAL_ERROR "Please define video mode. Available options:\n"
|
|
"${modes}\n"
|
|
"Run CMake again using one of the available video modes e.g.: cmake .. -DVIDEO_MODE=VMODE_PAL")
|
|
endif()
|
|
endif()
|