lomo/CMakeLists.txt

83 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.16)
# -----------------------------------------------------------------------------
# Project
# -----------------------------------------------------------------------------
project(Lomo C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 20)
# -----------------------------------------------------------------------------
# devkitPro / libctru setup
# -----------------------------------------------------------------------------
if(NOT DEFINED ENV{DEVKITPRO})
message(FATAL_ERROR "Please set DEVKITPRO in your environment.")
endif()
if(NOT DEFINED ENV{DEVKITARM})
message(FATAL_ERROR "Please set DEVKITARM in your environment.")
endif()
set(DEVKITPRO $ENV{DEVKITPRO})
set(DEVKITARM $ENV{DEVKITARM})
# Load devkitPro CMake support
include("${DEVKITPRO}/cmake/3DS.cmake")
# -----------------------------------------------------------------------------
# LVGL
# -----------------------------------------------------------------------------
cmake_policy(SET CMP0077 NEW)
#set(LV_CONF_INCLUDE_SIMPLE ON)
#set(LV_BUILD_CONF_PATH ./include/lv_conf.h)
set(CONFIG_LV_BUILD_EXAMPLES OFF)
set(CONFIG_LV_BUILD_DEMOS OFF)
add_subdirectory(libraries/lvgl)
# -----------------------------------------------------------------------------
# Target
# -----------------------------------------------------------------------------
add_executable(${PROJECT_NAME}
source/main.c
source/lv_ctr_disp.c
source/lv_ctr_indev.c
)
target_include_directories(${PROJECT_NAME} PRIVATE
include
)
# -----------------------------------------------------------------------------
# Libraries
# -----------------------------------------------------------------------------
target_link_libraries(${PROJECT_NAME}
lvgl
ctru
citro2d
citro3d
m
)
# -----------------------------------------------------------------------------
# 3DS metadata
# -----------------------------------------------------------------------------
set_target_properties(${PROJECT_NAME} PROPERTIES
OUTPUT_NAME "lomo"
)
# Generates:
# .3dsx
# .smdh
# .elf
ctr_generate_smdh(
OUTPUT "${PROJECT_NAME}.smdh"
NAME "Lomo"
DESCRIPTION "Camera app for the rest of us"
AUTHOR "BluRaf"
)
ctr_create_3dsx(${PROJECT_NAME}
SMDH "${PROJECT_NAME}.smdh"
)