mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-10-31 00:12:05 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			144 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From: =?utf-8?q?Timo_R=C3=B6hling?= <timo.roehling@fkie.fraunhofer.de>
 | |
| Date: Tue, 31 Mar 2020 17:05:46 +0200
 | |
| Subject: Fix build system
 | |
| 
 | |
| Forwarded: not-needed
 | |
| ---
 | |
|  CMakeLists.txt                | 87 +++++++++++++++++++++----------------------
 | |
|  cmake/TinyGLTFConfig.cmake.in |  8 +++-
 | |
|  tiny_gltf.cpp                 |  3 ++
 | |
|  3 files changed, 53 insertions(+), 45 deletions(-)
 | |
|  create mode 100644 tiny_gltf.cpp
 | |
| 
 | |
| diff --git a/CMakeLists.txt b/CMakeLists.txt
 | |
| index 3f3dcc3..ed6d0f7 100644
 | |
| --- a/CMakeLists.txt
 | |
| +++ b/CMakeLists.txt
 | |
| @@ -1,14 +1,13 @@
 | |
|  cmake_minimum_required(VERSION 3.6)
 | |
|  
 | |
| -project(tinygltf)
 | |
| +project(TinyGLTF VERSION ${TINYGLTF_VERSION} LANGUAGES CXX)
 | |
|  
 | |
|  include(GNUInstallDirs)
 | |
|  include(CMakePackageConfigHelpers)
 | |
|  
 | |
| -set(CMAKE_CXX_STANDARD 11)
 | |
| -set(CMAKE_CXX_STANDARD_REQUIRED On)
 | |
| -set(CMAKE_CXX_EXTENSIONS Off)
 | |
| -set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 | |
| +find_package(nlohmann_json 3 REQUIRED)
 | |
| +find_package(Catch2 REQUIRED)
 | |
| +find_path(stb_INCLUDE_DIRS NAMES stb_image.h PATH_SUFFIXES stb)
 | |
|  
 | |
|  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)
 | |
| @@ -36,44 +35,44 @@
 | |
|    add_subdirectory ( examples/build-gltf )
 | |
|  endif (TINYGLTF_BUILD_BUILDER_EXAMPLE)
 | |
|  
 | |
| -#
 | |
| -# for add_subdirectory and standalone build
 | |
| -#
 | |
| -if (TINYGLTF_HEADER_ONLY)
 | |
| -  add_library(tinygltf INTERFACE)
 | |
| +add_library(${PROJECT_NAME} tiny_gltf.h tiny_gltf.cpp)
 | |
| +target_include_directories(${PROJECT_NAME}
 | |
| +	PUBLIC
 | |
| +		$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
 | |
| +		$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
 | |
| +	PRIVATE
 | |
| +		${stb_INCLUDE_DIRS}
 | |
| +)
 | |
| +target_link_libraries(${PROJECT_NAME} PRIVATE
 | |
| +	${stb_LIBRARY}
 | |
| +	nlohmann_json::nlohmann_json
 | |
| +)
 | |
| +set_target_properties(${PROJECT_NAME} PROPERTIES
 | |
| +	OUTPUT_NAME "tinygltf"
 | |
| +	VERSION ${PROJECT_VERSION}
 | |
| +	SOVERSION ${TINYGLTF_SOVERSION}
 | |
| +)
 | |
| +add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
 | |
|  
 | |
| -  target_include_directories(tinygltf
 | |
| -          INTERFACE
 | |
| -          $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
 | |
| -          $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
 | |
| -  )
 | |
| +install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
 | |
| +	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
 | |
| +	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
 | |
| +	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
 | |
| +)
 | |
| +export(EXPORT ${PROJECT_NAME}Targets NAMESPACE ${PROJECT_NAME}::)
 | |
| +install(EXPORT ${PROJECT_NAME}Targets NAMESPACE ${PROJECT_NAME}::
 | |
| +	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
 | |
| +)
 | |
| +install(FILES tiny_gltf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 | |
|  
 | |
| -else (TINYGLTF_HEADER_ONLY)
 | |
| -  add_library(tinygltf)
 | |
| -  target_sources(tinygltf PRIVATE
 | |
| -          ${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)
 | |
| -  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
 | |
| -    json.hpp
 | |
| -    stb_image.h
 | |
| -    stb_image_write.h
 | |
| -    tiny_gltf.h
 | |
| -    ${TINYGLTF_EXTRA_SOUECES}
 | |
| -    DESTINATION
 | |
| -    include
 | |
| -    )
 | |
| -
 | |
| -endif(TINYGLTF_INSTALL)
 | |
| +configure_package_config_file(cmake/${PROJECT_NAME}Config.cmake.in ${PROJECT_NAME}Config.cmake
 | |
| +	INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
 | |
| +	NO_CHECK_REQUIRED_COMPONENTS_MACRO
 | |
| +	NO_SET_AND_CHECK_MACRO
 | |
| +)
 | |
| +write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake COMPATIBILITY SameMinorVersion)
 | |
| +install(FILES
 | |
| +	${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
 | |
| +	${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
 | |
| +	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
 | |
| +)
 | |
| diff --git a/cmake/TinyGLTFConfig.cmake.in b/cmake/TinyGLTFConfig.cmake.in
 | |
| index fcccacf..89f21e4 100644
 | |
| --- a/cmake/TinyGLTFConfig.cmake.in
 | |
| +++ b/cmake/TinyGLTFConfig.cmake.in
 | |
| @@ -1,3 +1,9 @@
 | |
|  @PACKAGE_INIT@
 | |
|  
 | |
| -include(${CMAKE_CURRENT_LIST_DIR}/TinyGLTFTargets.cmake)
 | |
| +include(FindPackageHandleStandardArgs)
 | |
| +
 | |
| +include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake)
 | |
| +
 | |
| +set(@PROJECT_NAME@_CONFIG ${CMAKE_CURRENT_LIST_FILE})
 | |
| +find_package_handle_standard_args(@PROJECT_NAME@ CONFIG_MODE)
 | |
| +
 | |
| diff --git a/tiny_gltf.cpp b/tiny_gltf.cpp
 | |
| new file mode 100644
 | |
| index 0000000..43e41f4
 | |
| --- /dev/null
 | |
| +++ b/tiny_gltf.cpp
 | |
| @@ -0,0 +1,3 @@
 | |
| +#define TINYGLTF_IMPLEMENTATION
 | |
| +#include "tiny_gltf.h"
 | |
| +
 |