init commit
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
#
|
||||
#Davinci (a software render)
|
||||
#
|
||||
|
||||
cmake_minimum_required (VERSION 3.15)
|
||||
|
||||
project(davinci)
|
||||
|
||||
########
|
||||
#system
|
||||
########
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(DV_SYS_LINUX TRUE)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
set(DV_SYS_WINDOWS TRUE)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(DV_SYS_MACOS TRUE)
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown target system \"${CMAKE_SYSTEM_NAME}\".")
|
||||
endif()
|
||||
|
||||
########
|
||||
#set compile flag
|
||||
########
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
########
|
||||
#set davinci source files path
|
||||
########
|
||||
set(DV_CORE_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/source/core/include)
|
||||
set(DV_UTILS_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/source/utils/include)
|
||||
|
||||
########
|
||||
#check include file
|
||||
########
|
||||
include(CheckIncludeFile)
|
||||
check_include_file(unistd.h DV_HAVE_UNISTD_H)
|
||||
check_include_file(inttypes.h DV_HAVE_INTTYPES_H)
|
||||
check_include_file(limits.h DV_HAVE_LIMITS_H)
|
||||
|
||||
########
|
||||
#make configure files
|
||||
########
|
||||
set(DV_AUTO_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR}/source)
|
||||
set(DV_AUTO_CONFIG_FILE ${DV_AUTO_INCLUDE_PATH}/dv_config.h)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/source/dv_config.h.in ${DV_AUTO_CONFIG_FILE})
|
||||
|
||||
########
|
||||
#Thirdparty libraries
|
||||
########
|
||||
|
||||
# rapidjson
|
||||
set(RapidJSON_DIR $ENV{LIBRARIES_SDK_ROOT}/rapidjson/cmake)
|
||||
find_package(RapidJSON REQUIRED)
|
||||
|
||||
#zlib
|
||||
set(ZLIB_USE_STATIC_LIBS True)
|
||||
set(ZLIB_ROOT $ENV{LIBRARIES_SDK_ROOT}/zlib)
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
#libpng
|
||||
set(PNG_DIR $ENV{LIBRARIES_SDK_ROOT}/libpng/lib/cmake/PNG)
|
||||
find_package(PNG CONFIG REQUIRED)
|
||||
|
||||
#glm
|
||||
set(glm_DIR $ENV{LIBRARIES_SDK_ROOT}/glm/share/glm)
|
||||
find_package(glm CONFIG REQUIRED)
|
||||
|
||||
#tinygltf
|
||||
set(TinyGLTF_DIR $ENV{LIBRARIES_SDK_ROOT}/tinygltf/lib/cmake/tinygltf)
|
||||
find_package(TinyGLTF CONFIG REQUIRED)
|
||||
|
||||
set(ImGui_DIR "$ENV{LIBRARIES_SDK_ROOT}/imgui/lib/cmake/imgui")
|
||||
find_package(ImGui REQUIRED)
|
||||
|
||||
#set(glfw3_DIR $ENV{LIBRARIES_SDK_ROOT}/glfw/lib/cmake/glfw3)
|
||||
#find_package(glfw3 CONFIG REQUIRED)
|
||||
|
||||
set(SDL3_DIR "$ENV{LIBRARIES_SDK_ROOT}/SDL/cmake")
|
||||
find_package(SDL3 CONFIG REQUIRED)
|
||||
|
||||
find_package(OpenGL REQUIRED)
|
||||
|
||||
########
|
||||
#sub dictionary
|
||||
########
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
add_subdirectory(source)
|
||||
|
||||
########
|
||||
#test dictionary
|
||||
########
|
||||
add_subdirectory(test)
|
||||
Reference in New Issue
Block a user