all repos — mgba @ 2dcefe8fa5d1beb835e822ae2fc0eac216972942

mGBA Game Boy Advance Emulator

src/platform/3ds/CMakeLists.txt (view raw)

 1set(USE_VFS_3DS ON CACNE BOOL "Use 3DS-specific file support")
 2mark_as_advanced(USE_VFS_3DS)
 3
 4set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-format" PARENT_SCOPE)
 5set(OS_DEFINES COLOR_16_BIT COLOR_5_6_5)
 6
 7include_directories(${CMAKE_CURRENT_BINARY_DIR})
 8list(APPEND OS_LIB sf2d ctru)
 9file(GLOB OS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/3ds-*.c)
10set(OS_SRC ${OS_SRC} PARENT_SCOPE)
11source_group("3DS-specific code" FILES ${OS_SRC})
12
13if(USE_VFS_3DS)
14	list(APPEND OS_DEFINES USE_VFS_3DS)
15else()
16	list(APPEND OS_DEFINES USE_VFS_FILE)
17	list(APPEND VFS_SRC ${CMAKE_SOURCE_DIR}/src/util/vfs/vfs-file.c ${CMAKE_SOURCE_DIR}/src/util/vfs/vfs-dirent.c)
18endif()
19set(VFS_SRC ${VFS_SRC} PARENT_SCOPE)
20set(OS_DEFINES ${OS_DEFINES} PARENT_SCOPE)
21
22list(APPEND GUI_SRC ${CMAKE_CURRENT_BINARY_DIR}/font.c ${CMAKE_CURRENT_SOURCE_DIR}/gui-font.c)
23
24set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/font.c PROPERTIES GENERATED ON)
25add_executable(${BINARY_NAME}.elf ${GUI_SRC} main.c ctru-heap.c)
26set_target_properties(${BINARY_NAME}.elf PROPERTIES COMPILE_DEFINITIONS "${OS_DEFINES}")
27target_link_libraries(${BINARY_NAME}.elf ${BINARY_NAME} ${M_LIBRARY} ${OS_LIB})
28
29add_custom_command(OUTPUT ${BINARY_NAME}.smdh
30                   COMMAND ${SMDHTOOL} --create "${PROJECT_NAME}" "${SUMMARY}" "endrift" ${CMAKE_SOURCE_DIR}/res/mgba-48.png ${BINARY_NAME}.smdh)
31
32add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/font.c
33                   COMMAND ${RAW2C} ${CMAKE_SOURCE_DIR}/src/platform/3ds/font.raw)
34
35add_custom_target(${BINARY_NAME}.3dsx ALL
36	              ${3DSXTOOL} ${BINARY_NAME}.elf ${BINARY_NAME}.3dsx --smdh=${BINARY_NAME}.smdh
37	              DEPENDS ${BINARY_NAME}.elf ${BINARY_NAME}.smdh)
38
39add_custom_target(run ${3DSLINK} ${CMAKE_CURRENT_BINARY_DIR}/${BINARY_NAME}.3dsx
40                  DEPENDS ${BINARY_NAME}.3dsx)
41
42install(FILES ${BINARY_NAME}.3dsx ${BINARY_NAME}.smdh DESTINATION . COMPONENT ${BINARY_NAME}-3ds)