diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ed4fd9..0df1614 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.6) PROJECT (tinygltf) +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + SET(CMAKE_CXX_STANDARD 11) option(TINYGLTF_BUILD_LOADER_EXAMPLE "Build loader_example(load glTF and dump infos)" ON) @@ -54,7 +57,10 @@ else (TINYGLTF_HEADER_ONLY) endif (TINYGLTF_HEADER_ONLY) if (TINYGLTF_INSTALL) - + install(TARGETS tinygltf EXPORT tinygltfTargets) + install(EXPORT tinygltfTargets NAMESPACE tinygltf:: FILE TinyGLTFTargets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/TinyGLTFConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/TinyGLTFConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TinyGLTFConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) # Do not install .lib even if !TINYGLTF_HEADER_ONLY INSTALL ( FILES @@ -67,10 +73,4 @@ if (TINYGLTF_INSTALL) include ) - INSTALL ( FILES - cmake/TinyGLTFConfig.cmake - DESTINATION - cmake - ) - endif(TINYGLTF_INSTALL) diff --git a/cmake/TinyGLTFConfig.cmake b/cmake/TinyGLTFConfig.cmake deleted file mode 100644 index 2c2a75d..0000000 --- a/cmake/TinyGLTFConfig.cmake +++ /dev/null @@ -1,15 +0,0 @@ -# -*- cmake -*- -# - Find TinyGLTF - -# TinyGLTF_INCLUDE_DIR TinyGLTF's include directory - - -FIND_PACKAGE ( PackageHandleStandardArgs ) - -SET ( TinyGLTF_INCLUDE_DIR "${TinyGLTF_DIR}/../include" CACHE STRING "TinyGLTF include directory") - -FIND_FILE ( TinyGLTF_HEADER tiny_gltf.h PATHS ${TinyGLTF_INCLUDE_DIR} ) - -IF (NOT TinyGLTF_HEADER) - MESSAGE ( FATAL_ERROR "Unable to find tiny_gltf.h, TinyGLTF_INCLUDE_DIR = ${TinyGLTF_INCLUDE_DIR}") -ENDIF () diff --git a/cmake/TinyGLTFConfig.cmake.in b/cmake/TinyGLTFConfig.cmake.in new file mode 100644 index 0000000..fcccacf --- /dev/null +++ b/cmake/TinyGLTFConfig.cmake.in @@ -0,0 +1,3 @@ +@PACKAGE_INIT@ + +include(${CMAKE_CURRENT_LIST_DIR}/TinyGLTFTargets.cmake)