Jackalope / jlib (public) (License: GPLv3 or later) (since 2019-11-18) (hash sha1)
jlib C++ template library
Used to replace std functionality without exception handling.
- data structures
- filesystem routines
- crossplatform threads interface (currently only pthreads implementation)
- thread pool
- crossplatform dynamic memory functions interface (allocate, reallocate, deallocate) with alignment support
- high percision timer routines based on timespec
List of commits:
Subject Hash Author Date (UTC)
remove LTO option a95b60656c6c00d64efd769d5047853315964556 Jackalope 2020-05-24 13:39:59
compiler options and optimizations 92bc2d91c14c58ce630a7f4f400b5d076ac03286 Jackalope 2020-05-24 01:16:59
cpu_number return unsigned int b9c11a1b4474747c313957bef5573d1db6c481ff Jackalope 2020-05-24 00:13:29
ThreadPool moved to jl namespace, same for cpu_number function 2e486f0d57347197a875abe79b4c637e7c925ecc Jackalope 2020-05-23 23:26:00
removed inline keyword from functions in fs.cpp 295f11fb3a3f285c5393687675d8dd2c86e726b8 Jackalope 2020-05-23 23:25:12
make assert constexpr compatible again 378556f2203439749e7c4003031c3e1de1511f6d Jackalope 2020-05-23 23:24:04
renamed Doxygen options cbda01d11706d12d842d088e917dd3e7866689a2 Jackalope 2020-05-23 23:23:30
Updated license notice 0d013874b3eca0e34ad14cbb4dc4aa7628549a4b Jackalope 2020-05-23 22:52:50
Moved some implementation to library obj target 43b7241f3ded0b0b049d15bf337dac6b25b577e6 Jackalope 2020-05-23 22:44:45
CMake documentation target 8ab15abc55ba97919ffa4b07bdf9389b0ff57a24 Jackalope 2020-05-23 21:19:36
CMake install target with version control 9e7aaf56c9c3cae628cc8dc35ded5fec49d414b2 Jackalope 2020-05-23 21:10:32
added read whole TEXT file func also (only binary was before) d70894b97e0760c85fa03bf802d36a840d331bc9 Jackalope 2020-05-20 19:05:49
Changed cmake library interface 0b4c87b296597ae929dc1038e9eefbf155250fa7 Jackalope 2020-05-12 06:57:42
added byte_array and byte_array_ro typedefs 902916f777983eba78d325e9f9c9c01bd2502ca3 Jackalope 2020-05-11 07:47:33
remove _BIT postfix from file opening flags 1cf92db6ccb85c2ac0ed7f86fbdfeac97745bd45 Jackalope 2020-05-11 07:46:51
added license 16a67712bb2ffd15263a6a146a06d4860f435645 Jackalope 2020-05-09 23:31:00
code refactoring 7cfcdc6b9382cea7227d44746c166747fced61a0 Jackalope 2020-05-09 23:05:21
add check for threads count to prevent bloating ce23263c2c053dd1374d54c618b6850215077880 Jackalope 2020-04-21 22:11:24
pthreads detach function fix 8ac43fe43beca9b55d2ea605e0c3fd821b8b5579 Jackalope 2020-04-15 09:53:11
make asserts constexpr compatible 4c2dfc64c3d9587ee9b749db9355f4e0d6003547 Jackalope 2020-03-29 07:03:08
Commit a95b60656c6c00d64efd769d5047853315964556 - remove LTO option
Author: Jackalope
Author date (UTC): 2020-05-24 13:39
Committer name: Jackalope
Committer date (UTC): 2020-05-24 13:39
Parent(s): 92bc2d91c14c58ce630a7f4f400b5d076ac03286
Signing key:
Tree: 742c7f763e94a9f422252e2b72fc5ecf4ae9cb13
File Lines added Lines deleted
CMakeLists.txt 1 8
File CMakeLists.txt changed (mode: 100644) (index d2f58e6..d5ac904)
... ... list(TRANSFORM INCLUDE_FILES PREPEND jlib/)
53 53
54 54 set(EXPORT_NAME jlib-${PROJECT_VERSION}) set(EXPORT_NAME jlib-${PROJECT_VERSION})
55 55
56 add_library(jlib
56 add_library(jlib STATIC
57 57 src/fs.cpp src/fs.cpp
58 58 src/threads.cpp src/threads.cpp
59 59 src/thread_pool.cpp src/thread_pool.cpp
 
... ... if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
83 83 target_compile_options(jlib PRIVATE -fno-exceptions -fno-rtti -ffast-math) target_compile_options(jlib PRIVATE -fno-exceptions -fno-rtti -ffast-math)
84 84 endif() endif()
85 85
86 option(JLIB_LTO "Enable LTO" ON)
87 if (JLIB_LTO AND CMAKE_BUILD_TYPE STREQUAL Release)
88 set_property(TARGET jlib APPEND_STRING PROPERTY LINK_FLAGS -flto)
89 target_compile_options(jlib PRIVATE -flto)
90 message(STATUS "LTO is enabled")
91 endif()
92
93 86 set(INSTALL_DIR include/${EXPORT_NAME}) set(INSTALL_DIR include/${EXPORT_NAME})
94 87 foreach(FILE ${INCLUDE_FILES}) foreach(FILE ${INCLUDE_FILES})
95 88 get_filename_component(DIR_PATH ${FILE} DIRECTORY) get_filename_component(DIR_PATH ${FILE} DIRECTORY)
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/jlib

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

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

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