2021-10-06 12:37:02 +00:00
|
|
|
cmake_minimum_required(VERSION 3.9)
|
|
|
|
|
2024-06-15 04:30:15 +00:00
|
|
|
project(D3D12MemoryAllocator VERSION 3.0.0)
|
2021-10-06 12:37:02 +00:00
|
|
|
|
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
|
|
|
|
|
find_package(Doxygen)
|
|
|
|
option(BUILD_DOCUMENTATION "Create and install the HTML-based API documentation (requires Doxygen)" OFF)
|
2021-11-24 00:22:58 +00:00
|
|
|
option(BUILD_SHARED_LIBS "Build D3D12 Memory Allocator shared library" OFF)
|
2021-10-06 12:37:02 +00:00
|
|
|
|
2021-12-03 10:08:11 +00:00
|
|
|
if(BUILD_DOCUMENTATION)
|
|
|
|
if(DOXYGEN_FOUND)
|
|
|
|
# set input and output files
|
|
|
|
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/src/Doxyfile)
|
|
|
|
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
|
|
|
|
|
|
|
# request to configure the file
|
|
|
|
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
|
|
|
|
# note the option ALL which allows to build the docs together with the application
|
|
|
|
add_custom_target( doc_doxygen ALL
|
|
|
|
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
COMMENT "Generating API documentation with Doxygen"
|
|
|
|
VERBATIM )
|
|
|
|
else()
|
|
|
|
message("Doxygen need to be installed to generate the doxygen documentation")
|
|
|
|
endif()
|
|
|
|
endif()
|
2021-10-06 12:37:02 +00:00
|
|
|
|
|
|
|
# D3D12MemoryAllocator contains an sample application which is not build by default
|
|
|
|
option(D3D12MA_BUILD_SAMPLE "Build D3D12MemoryAllocator sample application" OFF)
|
|
|
|
|
|
|
|
message(STATUS "D3D12MA_BUILD_SAMPLE = ${D3D12MA_BUILD_SAMPLE}")
|
|
|
|
|
|
|
|
add_subdirectory(src)
|