107 lines
3.7 KiB
Text
107 lines
3.7 KiB
Text
|
|
cmake_minimum_required(VERSION 3.19)
|
||
|
|
|
||
|
|
project(RenderingCookbook2 CXX C)
|
||
|
|
|
||
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||
|
|
|
||
|
|
add_subdirectory(deps/src/lightweightvk/third-party/deps/src/ldrutils)
|
||
|
|
set(KTX_FEATURE_DOC OFF CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_GL_UPLOAD OFF CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_JNI OFF CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_KTX1 ON CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_KTX2 ON CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_LOADTEST_APPS OFF CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_STATIC_LIBRARY ON CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_TESTS OFF CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_TOOLS OFF CACHE BOOL "")
|
||
|
|
set(KTX_FEATURE_VK_UPLOAD OFF CACHE BOOL "")
|
||
|
|
add_subdirectory(deps/src/lightweightvk/third-party/deps/src/ktx-software)
|
||
|
|
set(LVK_WITH_SAMPLES OFF CACHE BOOL "")
|
||
|
|
set(LVK_WITH_TRACY ON CACHE BOOL "")
|
||
|
|
set(LVK_WITH_TRACY_GPU ON CACHE BOOL "")
|
||
|
|
add_subdirectory(deps/src/lightweightvk)
|
||
|
|
lvk_set_folder(ktx "third-party/ktx-software")
|
||
|
|
lvk_set_folder(ktx_read "third-party/ktx-software")
|
||
|
|
lvk_set_folder(ktx_version "third-party/ktx-software")
|
||
|
|
lvk_set_folder(obj_basisu_cbind "third-party/ktx-software")
|
||
|
|
lvk_set_folder(objUtil "third-party/ktx-software")
|
||
|
|
if(TARGET astcenc-avx2-static)
|
||
|
|
lvk_set_folder(astcenc-avx2-static "third-party/ktx-software")
|
||
|
|
endif()
|
||
|
|
# # cmake-format: on
|
||
|
|
#
|
||
|
|
set(ASSIMP_NO_EXPORT ON CACHE BOOL "")
|
||
|
|
set(ASSIMP_BUILD_DRACO OFF CACHE BOOL "")
|
||
|
|
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "")
|
||
|
|
set(ASSIMP_BUILD_TESTS OFF CACHE BOOL "")
|
||
|
|
set(ASSIMP_INSTALL_PDB OFF CACHE BOOL "")
|
||
|
|
set(ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT OFF CACHE BOOL "")
|
||
|
|
set(ASSIMP_BUILD_OBJ_IMPORTER ON CACHE BOOL "")
|
||
|
|
set(ASSIMP_BUILD_GLTF_IMPORTER ON CACHE BOOL "")
|
||
|
|
set(ASSIMP_BUILD_ZLIB ON CACHE BOOL "")
|
||
|
|
#
|
||
|
|
add_subdirectory(deps/src/assimp)
|
||
|
|
if(APPLE)
|
||
|
|
target_compile_options(assimp PRIVATE -Wno-deprecated-declarations)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
# set(MESHOPT_BUILD_DEMO OFF CACHE BOOL "")
|
||
|
|
# set(MESHOPT_BUILD_TOOLS OFF CACHE BOOL "")
|
||
|
|
# set(MESHOPT_BUILD_SHARED_LIBS OFF CACHE BOOL "")
|
||
|
|
add_subdirectory(deps/src/lightweightvk/third-party/deps/src/meshoptimizer)
|
||
|
|
|
||
|
|
if(WIN32)
|
||
|
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
add_definitions(-DGLM_ENABLE_EXPERIMENTAL)
|
||
|
|
|
||
|
|
include_directories(deps/src/lightweightvk/third-party/deps/src/taskflow)
|
||
|
|
include_directories(deps/src/lightweightvk/third-party/deps/src/glm)
|
||
|
|
include_directories(deps/src/lightweightvk/third-party/deps/src/imgui)
|
||
|
|
#
|
||
|
|
# add_subdirectory(deps/cmake/ImGuizmo)
|
||
|
|
#
|
||
|
|
set_property(TARGET assimp PROPERTY FOLDER "third-party")
|
||
|
|
set_property(TARGET LUtils PROPERTY FOLDER "third-party")
|
||
|
|
set_property(TARGET meshoptimizer PROPERTY FOLDER "third-party")
|
||
|
|
if(WIN32)
|
||
|
|
if(TARGET zlibstatic)
|
||
|
|
set_property(TARGET zlibstatic PROPERTY FOLDER "third-party")
|
||
|
|
endif()
|
||
|
|
if(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs)
|
||
|
|
set_property(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs PROPERTY FOLDER "third-party")
|
||
|
|
endif()
|
||
|
|
endif()
|
||
|
|
set_property(TARGET uninstall PROPERTY FOLDER "third-party")
|
||
|
|
#
|
||
|
|
# # shared utils code
|
||
|
|
add_subdirectory(shared)
|
||
|
|
# add_subdirectory(data)
|
||
|
|
#
|
||
|
|
# add_dependencies(SharedUtils Dependencies)
|
||
|
|
#
|
||
|
|
# disable warnings in third-party code
|
||
|
|
if(MSVC)
|
||
|
|
target_compile_options(assimp PRIVATE /wd4267)
|
||
|
|
target_compile_options(SPIRV PRIVATE /wd4267)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
|
||
|
|
|
||
|
|
if(CMAKE_EXPORT_COMPILE_COMMANDS)
|
||
|
|
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES
|
||
|
|
${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
|
||
|
|
endif()
|
||
|
|
|
||
|
|
# BINARIES
|
||
|
|
add_subdirectory(Chapter01/01_CMake)
|
||
|
|
add_subdirectory(Chapter01/02_GLFW)
|
||
|
|
add_subdirectory(Chapter01/03_Taskflow)
|
||
|
|
add_subdirectory(Chapter01/04_GLSLang)
|
||
|
|
add_subdirectory(Chapter01/05_BC7Compression)
|
||
|
|
add_subdirectory(Chapter02/01_Swapchain)
|
||
|
|
add_subdirectory(Chapter03/01_Assimp)
|
||
|
|
add_subdirectory(Chapter04/04_CubeMap)
|
||
|
|
add_subdirectory(Chapter05/01_MeshOptimizer)
|