From 8c7926588b616988e7b016eaf704acee0ee77cc9 Mon Sep 17 00:00:00 2001 From: Chuyan Zhang Date: Thu, 5 Sep 2024 01:11:42 -0700 Subject: Initial setup --- CMakeLists.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..05e821f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,36 @@ +# CMakeLists.txt + +cmake_minimum_required(VERSION 3.11) + +project(IrisRenderer VERSION 1.0) + +set(CMAKE_CXX_STANDARD 20) +set(PROJECT_ROOT ${CMAKE_SOURCE_DIR}) +set(SRC_DIR ${PROJECT_ROOT}/src) +set(EXT_DIR ${PROJECT_ROOT}/ext) + +# Add external libraries +include(${EXT_DIR}/imgui.cmake) + +add_library(argparse INTERFACE) +target_include_directories(argparse INTERFACE ${EXT_DIR}/argparse/include) + +add_library(tinygltf INTERFACE) +target_include_directories(tinygltf INTERFACE ${EXT_DIR}/tinygltf) + +add_library(tinyobjloader INTERFACE) +target_include_directories(tinyobjloader INTERFACE ${EXT_DIR}/tinyobjloader) + +# Add your project's source files +file(GLOB_RECURSE SOURCES "${SRC_DIR}/*.cpp") + +# Add executable from your source files +add_executable(IrisRenderer ${SOURCES}) + +find_package(glfw3 REQUIRED) + +# Link external libraries to your project +target_link_libraries(IrisRenderer PRIVATE argparse imgui tinygltf tinyobjloader glfw) + +# Optional: Include additional compiler options or flags +target_compile_options(IrisRenderer PRIVATE -Wall -Wextra) -- cgit v1.2.3-70-g09d2