mirror of
https://git.mirrors.martin98.com/https://github.com/syoyo/tinygltf.git
synced 2025-09-13 06:23:15 +08:00
Make cmake script add_subdirectory
friendly.
This commit is contained in:
parent
2c521b3432
commit
001c870051
@ -4,9 +4,11 @@ PROJECT (tinygltf)
|
|||||||
|
|
||||||
SET(CMAKE_CXX_STANDARD 11)
|
SET(CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
option(TINYGLTF_BUILD_LOADER_EXAMPLE "Build loader_example" ON)
|
option(TINYGLTF_BUILD_LOADER_EXAMPLE "Build loader_example(load glTF and dump infos)" ON)
|
||||||
option(TINYGLTF_BUILD_GL_EXAMPLES "Build GL exampels(requires glfw, OpenGL, etc)" OFF)
|
option(TINYGLTF_BUILD_GL_EXAMPLES "Build GL exampels(requires glfw, OpenGL, etc)" OFF)
|
||||||
option(TINYGLTF_BUILD_VALIDATOR_EXAMPLE "Build validator exampe" OFF)
|
option(TINYGLTF_BUILD_VALIDATOR_EXAMPLE "Build validator exampe" OFF)
|
||||||
|
option(TINYGLTF_HEADER_ONLY "On: header-only mode. Off: create tinygltf library(No TINYGLTF_IMPLEMENTATION required in your project)" OFF)
|
||||||
|
option(TINYGLTF_INSTALL "Install tinygltf files during install step. Usually set to OFF if you include tinygltf through add_subdirectory()" ON)
|
||||||
|
|
||||||
if (TINYGLTF_BUILD_LOADER_EXAMPLE)
|
if (TINYGLTF_BUILD_LOADER_EXAMPLE)
|
||||||
ADD_EXECUTABLE ( loader_example
|
ADD_EXECUTABLE ( loader_example
|
||||||
@ -22,20 +24,48 @@ endif (TINYGLTF_BUILD_GL_EXAMPLES)
|
|||||||
if (TINYGLTF_BUILD_VALIDATOR_EXAMPLE)
|
if (TINYGLTF_BUILD_VALIDATOR_EXAMPLE)
|
||||||
ADD_SUBDIRECTORY ( examples/validator )
|
ADD_SUBDIRECTORY ( examples/validator )
|
||||||
endif (TINYGLTF_BUILD_VALIDATOR_EXAMPLE)
|
endif (TINYGLTF_BUILD_VALIDATOR_EXAMPLE)
|
||||||
|
|
||||||
#
|
#
|
||||||
# TinuGLTF is a header-only library, so no library build. just install header files.
|
# for add_subdirectory and standalone build
|
||||||
#
|
#
|
||||||
INSTALL ( FILES
|
if (TINYGLTF_HEADER_ONLY)
|
||||||
json.hpp
|
add_library(tinygltf INTERFACE)
|
||||||
stb_image.h
|
|
||||||
stb_image_write.h
|
target_include_directories(tinygltf
|
||||||
tiny_gltf.h
|
INTERFACE
|
||||||
DESTINATION
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
include
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
)
|
)
|
||||||
|
|
||||||
INSTALL ( FILES
|
else (TINYGLTF_HEADER_ONLY)
|
||||||
cmake/TinyGLTFConfig.cmake
|
add_library(tinygltf)
|
||||||
DESTINATION
|
target_sources(tinygltf PRIVATE
|
||||||
cmake
|
${CMAKE_CURRENT_SOURCE_DIR}/tiny_gltf.cc)
|
||||||
)
|
target_include_directories(tinygltf
|
||||||
|
INTERFACE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
|
)
|
||||||
|
endif (TINYGLTF_HEADER_ONLY)
|
||||||
|
|
||||||
|
if (TINYGLTF_INSTALL)
|
||||||
|
|
||||||
|
# Do not install .lib even if !TINYGLTF_HEADER_ONLY
|
||||||
|
|
||||||
|
INSTALL ( FILES
|
||||||
|
json.hpp
|
||||||
|
stb_image.h
|
||||||
|
stb_image_write.h
|
||||||
|
tiny_gltf.h
|
||||||
|
${TINYGLTF_EXTRA_SOUECES}
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
INSTALL ( FILES
|
||||||
|
cmake/TinyGLTFConfig.cmake
|
||||||
|
DESTINATION
|
||||||
|
cmake
|
||||||
|
)
|
||||||
|
|
||||||
|
endif(TINYGLTF_INSTALL)
|
||||||
|
4
tiny_gltf.cc
Normal file
4
tiny_gltf.cc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#define TINYGLTF_IMPLEMENTATION
|
||||||
|
#define STB_IMAGE_IMPLEMENTATION
|
||||||
|
#define STB_IMAGE_WRITE_IMPLEMENTATION
|
||||||
|
#include "tiny_gltf.h"
|
Loading…
x
Reference in New Issue
Block a user