Find TinyGLTF on Windows

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@8865 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
beaglejoe 2023-04-04 15:15:42 +00:00
parent 2aa9034794
commit a13a67c250
4 changed files with 53 additions and 5 deletions

22
cmake/FindTinyGLTF.cmake Normal file
View File

@ -0,0 +1,22 @@
# Locate TinyGLTF (optionally header-only) library
# This module defines
# TINYGLTF_FOUND :
# TINYGLTF_INCLUDE_DIR : where to find the headers
# Created by Joe Thompson
find_path(TINYGLTF_INCLUDE_DIR tiny_gltf.h)
find_library(TINYGLTF_LIBRARY NAMES tinygltf)
# handle the QUIETLY and REQUIRED arguments and set TINYGLTF_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TinyGLTF DEFAULT_MSG TINYGLTF_LIBRARY TINYGLTF_INCLUDE_DIR)
#if(TINYGLTF_FOUND)
set(TINYGLTF_LIBRARIES ${TINYGLTF_LIBRARY})
#endif()
# Set the old TINYGLTF_INCLUDE_DIRS variable for backwards compatibility
set(TINYGLTF_INCLUDE_DIRS ${TINYGLTF_INCLUDE_DIR})
mark_as_advanced(TINYGLTF_LIBRARY TINYGLTF_INCLUDE_DIR)

View File

@ -343,5 +343,25 @@ MACRO(CHECK_LIBRARIES)
ENDIF(OPTION_3RDPARTY_SQLITE3)
# GLM
Find_Package(GLM)
IF(GLM_FOUND)
SET(HAVE_GLM 1)
MESSAGE(STATUS "Looking for library GLM - found")
ELSE(GLM_FOUND)
MESSAGE(STATUS "Looking for library GLM - NOT found")
ENDIF(GLM_FOUND)
# TinyGLTF
Find_Package(TinyGLTF)
IF(TINYGLTF_FOUND)
SET(HAVE_TINYGLTF 1)
MESSAGE(STATUS "Looking for library TinyGLTF - found")
ELSE(TINYGLTF_FOUND)
MESSAGE(STATUS "Looking for library TinyGLTF - NOT found")
ENDIF(TINYGLTF_FOUND)
ENDMACRO(CHECK_LIBRARIES)

View File

@ -214,6 +214,9 @@ MACRO(SD_FIND_CUSTOM_3RDPARTY)
SET(SDEXT_CUSTOM_3DPARTY_DIR "${PARENT_DIR}/3rdparty" CACHE PATH
"Location of 3rdParty dependencies")
IF(EXISTS ${SDEXT_CUSTOM_3DPARTY_DIR})
LIST(PREPEND CMAKE_PREFIX_PATH ${SDEXT_CUSTOM_3DPARTY_DIR})
#MESSAGE(STATUS "SDEXT_CUSTOM_3DPARTY_DIR : ${SDEXT_CUSTOM_3DPARTY_DIR}")
#MESSAGE(STATUS "CMAKE_PREFIX_PATH : ${CMAKE_PREFIX_PATH}")
_FIND_3RDPARTY_DEPENDENCIES(${SDEXT_CUSTOM_3DPARTY_DIR})
ELSE(EXISTS ${SDEXT_CUSTOM_3DPARTY_DIR})
MESSAGE(STATUS "... but it doesn't exist : ${SDEXT_CUSTOM_3DPARTY_DIR}")
@ -382,6 +385,9 @@ MACRO(SD_INSTALL_CUSTOM_3RDPARTY TARGET_NAME)
_FIND_3RDPARTY_DLL("${CURL_LIBRARY}" "curl" "lib" _DLL_PATHNAME)
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
_FIND_3RDPARTY_DLL("${TINYGLTF_LIBRARY}" "tinygltf" "lib" _DLL_PATHNAME)
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
# 2) Copy found 3rd party DLL files to the bin folder (for running without installing).
#MESSAGE(STATUS "3rdParty dependencies : Will install ${_THIRDPARTY_DLL_PATHNAMES}")
SET(_NOINST_DIR "${CMAKE_BINARY_DIR}/${SD_BINDIR}")

View File

@ -129,7 +129,7 @@ ENDMACRO(ADD_OSG_LIBRARY TARGET)
MACRO(ADD_TINYGLTF_INCLUDEDIR)
IF(OPTION_3RDPARTY_TINYGLTF)
IF(OPTION_TINYGLTF)
FIND_PACKAGE(TINYGLTF)
@ -139,23 +139,23 @@ MACRO(ADD_TINYGLTF_INCLUDEDIR)
MESSAGE(FATAL_ERROR "Cannot find tinygltf header files")
ENDIF(TINYGLTF_FOUND)
ENDIF(OPTION_3RDPARTY_TINYGLTF)
ENDIF(OPTION_TINYGLTF)
ENDMACRO(ADD_TINYGLTF_INCLUDEDIR)
MACRO(ADD_TINYGLTF_LIBRARY TARGET)
IF(OPTION_3RDPARTY_TINYGLTF)
IF(OPTION_TINYGLTF)
FIND_PACKAGE(TINYGLTF)
IF(TINYGLTF_FOUND)
TARGET_LINK_LIBRARIES(${TARGET} ${TINYGLTF_LIBRARY})
ELSE(TINYGLTF_FOUND)
MESSAGE(FATAL_ERROR "Cannot find tinygltf libraries")
MESSAGE(WARNING "Cannot find tinygltf libraries")
ENDIF(TINYGLTF_FOUND)
ENDIF(OPTION_3RDPARTY_TINYGLTF)
ENDIF(OPTION_TINYGLTF)
ENDMACRO(ADD_TINYGLTF_LIBRARY TARGET)