Jackalope / jrf (public) (License: GPLv3 or later version) (since 2019-11-21) (hash sha1)
Libriary for reading and writing resource files: vertices, indices, meshes, images, models and scene data.
Supports reading from filesystem as well as from zip files.
It uses unique binary container format for those resources.
It is used in tool for converting popular formats like wavefront .obj file, TARGA image to this container and also used in resource loader as part of graphics framework.

It requires jlib libriary (see my user repositories) and libzip.
It is possible to remove libzip dependency.
List of commits:
Subject Hash Author Date (UTC)
Move definitions to configuration file. a7b28738de65520eddd08cbd5d8c958fa16eedbe Jackalope 2020-05-31 21:45:28
CMake: build both shared and static with JRF_SHARED and JRF_STATIC options. When is subdirectory, select only one instead. 0dc49150959af90cd9210367a61113eca85650eb Jackalope 2020-05-31 21:38:50
CMake: version check changed. 500bcbe11c7f1e418e5d8116e89654d160c8dbd6 Jackalope 2020-05-31 21:37:47
Reduced warnings. 865f2c52ed60c37c050a1033905bb2df278032a0 Jackalope 2020-05-27 15:03:07
Make "find_package(jlib 0.2.0 REQUIRED)" optional 58bfc04890fab24adf5fc84963cb1a3bca7a8706 Jackalope 2020-05-24 16:39:14
changed notice about native compilation 0ed7e9e5e72a2d13e8add619f7999a51634f8e9c Jackalope 2020-05-24 16:37:54
Version 0.2.1 02d30aa69e9026a3f96d8549a297fccfbefbda47 Jackalope 2020-05-24 14:31:31
Why there is Doxyfile? 16cf9fe9e64353a2a717668cc4083465e2f8dff5 Jackalope 2020-05-24 14:25:20
Add license notice to CMakeLists.txt db2e7f018714cd2643c7928a8cce966d3da25059 Jackalope 2020-05-24 14:23:39
Make zip functionality optional 8e4409ba503637e5981f98c4df39ff4d649351de Jackalope 2020-05-24 14:23:18
remove LTO option 9b39746de0abc22a2ae8d2ce8c2db253dd9ad71a Jackalope 2020-05-24 13:41:20
more lost changes c52ad1ddc9fe753cb2ec6f388e4a88f9dfb0fadf Jackalope 2020-05-24 13:30:51
added lost changes 1e60b3d0d8ecda7995f3a102257d8f3c0ca4b15e Jackalope 2020-05-24 13:27:42
CMake installation target 57ba69a5bc17124a96b401c20e68f1602345c4f7 Jackalope 2020-05-24 13:22:15
Moved read,write functions to read.h,write.h, merged vertices,indices and mesh files to mesh.h 365bcb01b01e95448e223de82e9f9e96b51fa789 Jackalope 2020-05-24 13:21:23
Update for new JLIB target a1152ffa6340863fbbd216a4d38806e2d31d3dd5 Jackalope 2020-05-23 23:27:05
added CMake project PARENT_SCOPE variables JRF_* 5ac8009d6709f681fbe0d59dba8cdd646a3cdc47 Jackalope 2020-05-20 19:06:51
added version number definitions, changed magic number (because incompatible) 46ccce5359274d660b327c667903b9534dc3bfe0 Jackalope 2020-05-19 17:39:57
Changed image formats, BGR->RGB convertion while reading from TARGA 297dd913b6084e890e5bd3d53f88d06a8f14657a Jackalope 2020-05-19 17:17:53
Changed cmake library interface 9c704c515769a03e5b1f82dcb1fd947884f1bd1e Jackalope 2020-05-12 06:58:47
Commit a7b28738de65520eddd08cbd5d8c958fa16eedbe - Move definitions to configuration file.
Author: Jackalope
Author date (UTC): 2020-05-31 21:45
Committer name: Jackalope
Committer date (UTC): 2020-05-31 21:45
Parent(s): 0dc49150959af90cd9210367a61113eca85650eb
Signing key:
Tree: 28e7420c593f0d59dfa1f136f320d2c7b38f66cf
File Lines added Lines deleted
.gitignore 3 0
CMakeLists.txt 5 9
include/jrf/jrf.h 1 0
src/config.h.in 7 0
File .gitignore changed (mode: 100755) (index 8b21f22..150da05)
... ... CMakeSettings.json
17 17
18 18 #doxygen #doxygen
19 19 /doc/* /doc/*
20
21 #configuration
22 /include/jrf/config.h
File CMakeLists.txt changed (mode: 100644) (index cb07101..7b7c8fa)
... ... set(SOURCE_FILES
56 56 src/convert.cpp src/convert.cpp
57 57 ) )
58 58
59 configure_file(
60 ${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in
61 ${CMAKE_CURRENT_SOURCE_DIR}/include/jrf/config.h
62 )
63
59 64 if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
60 65 set(IS_TOP_LEVEL TRUE) set(IS_TOP_LEVEL TRUE)
61 66 else() else()
 
... ... foreach(TARGET ${JRF_TARGETS})
124 129 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
125 130 target_compile_options(${TARGET} PRIVATE -Wall -Wextra) target_compile_options(${TARGET} PRIVATE -Wall -Wextra)
126 131 endif() endif()
127 target_compile_definitions(${TARGET}
128 PUBLIC
129 JRF_NAME="${PROJECT_NAME}"
130 JRF_VERSION_MAJOR=${PROJECT_VERSION_MAJOR}
131 JRF_VERSION_MINOR=${PROJECT_VERSION_MINOR}
132 JRF_VERSION_PATCH=${PROJECT_VERSION_PATCH}
133 JRF_VERSION=${PROJECT_VERSION}
134 JRF_CONTAINER_VERSION_NUMBER=${JRF_CONTAINER_VERSION_NUMBER}
135 )
136 132 if (JRF_NATIVE) if (JRF_NATIVE)
137 133 target_compile_options(${TARGET} PRIVATE -march=native) target_compile_options(${TARGET} PRIVATE -march=native)
138 134 endif() endif()
File include/jrf/jrf.h changed (mode: 100644) (index dbb4ccf..eabe4a1)
18 18 */ */
19 19 #pragma once #pragma once
20 20 #include "scene.h" #include "scene.h"
21 #include "config.h"
21 22
22 23 namespace jrf namespace jrf
23 24 { {
File src/config.h.in added (mode: 100644) (index 0000000..617c1d2)
1 #pragma once
2 #define JRF_NAME "${PROJECT_NAME}"
3 #define JRF_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}
4 #define JRF_VERSION_MINOR ${PROJECT_VERSION_MINOR}
5 #define JRF_VERSION_PATCH ${PROJECT_VERSION_PATCH}
6 #define JRF_VERSION "${PROJECT_VERSION}"
7 #define JRF_CONTAINER_VERSION_NUMBER ${JRF_CONTAINER_VERSION_NUMBER}
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/Jackalope/jrf

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/Jackalope/jrf

Clone this repository using git:
git clone git://git.rocketgit.com/user/Jackalope/jrf

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main