Skip to content

Commit 86b43aa

Browse files
Grok CompressionGrok Compression
Grok Compression
authored and
Grok Compression
committed
code reorg
1 parent be48885 commit 86b43aa

File tree

170 files changed

+24285
-24686
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+24285
-24686
lines changed

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"codeQL.githubDatabase.download": "never"
3+
}

.vscode/tasks.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "build",
6+
"type": "shell",
7+
"command": "make",
8+
"options": {
9+
"cwd": "${workspaceFolder}/build"
10+
},
11+
"args": [
12+
"-j$(nproc)"
13+
],
14+
"group": {
15+
"kind": "build",
16+
"isDefault": true
17+
},
18+
"presentation": {
19+
"reveal": "always",
20+
"panel": "shared",
21+
"clear": false,
22+
"focus": true
23+
},
24+
"problemMatcher": [],
25+
"detail": "Run the custom Makefile to build the project."
26+
}
27+
]
28+
}

CMakeLists.txt

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ project(GROK)
66
# GROK version
77
set(GROK_VERSION_MAJOR 14)
88
set(GROK_VERSION_MINOR 2)
9-
set(GROK_VERSION_BUILD 0)
9+
set(GROK_VERSION_PATCH 0)
1010
set(GROK_VERSION
11-
"${GROK_VERSION_MAJOR}.${GROK_VERSION_MINOR}.${GROK_VERSION_BUILD}")
11+
"${GROK_VERSION_MAJOR}.${GROK_VERSION_MINOR}.${GROK_VERSION_PATCH}")
1212
set(PACKAGE_VERSION
13-
"${GROK_VERSION_MAJOR}.${GROK_VERSION_MINOR}.${GROK_VERSION_BUILD}")
13+
"${GROK_VERSION_MAJOR}.${GROK_VERSION_MINOR}.${GROK_VERSION_PATCH}")
1414

1515
# As autotools does not support X.Y notation for SOVERSION, we have to use
1616
# two different versions, one for Grok itself and one for its .so
1717
if(NOT GROK_SOVERSION)
1818
set(GROK_SOVERSION 1)
1919
endif(NOT GROK_SOVERSION)
2020
set(GROK_LIBRARY_PROPERTIES
21-
VERSION "${GROK_VERSION_MAJOR}.${GROK_VERSION_MINOR}.${GROK_VERSION_BUILD}"
21+
VERSION "${GROK_VERSION_MAJOR}.${GROK_VERSION_MINOR}.${GROK_VERSION_PATCH}"
2222
SOVERSION "${GROK_SOVERSION}"
2323
)
2424
#######################################
@@ -213,9 +213,25 @@ endif()
213213

214214
# install all targets referenced as GrokTargets
215215
if (BUILD_SHARED_LIBS AND NOT CMAKE_SYSTEM_NAME STREQUAL Emscripten)
216-
install(EXPORT GrokTargets DESTINATION ${GROK_INSTALL_PACKAGE_DIR})
216+
# Install the GrokTargets file
217+
install(EXPORT GrokTargets
218+
DESTINATION ${GROK_INSTALL_PACKAGE_DIR}
219+
NAMESPACE GROK::)
220+
221+
# Generate the GrokConfig.cmake file
222+
include(CMakePackageConfigHelpers)
223+
configure_package_config_file(
224+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/GrokConfig.cmake.in
225+
${CMAKE_CURRENT_BINARY_DIR}/GrokConfig.cmake
226+
INSTALL_DESTINATION ${GROK_INSTALL_PACKAGE_DIR}
227+
PATH_VARS CMAKE_INSTALL_INCLUDEDIR)
228+
229+
# Install the GrokConfig.cmake file
230+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GrokConfig.cmake
231+
DESTINATION ${GROK_INSTALL_PACKAGE_DIR})
217232
endif()
218233

234+
219235
if(GRK_BUILD_DOC)
220236
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
221237
endif()

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
### Features
1414

1515
* support for High Throughput JPEG 2000 (HTJ2K) encode/decode
16-
* fast random-access sub-image decoding using `TLM` markers
1716
* full encode/decode support for `ICC` colour profiles
1817
* full encode/decode support for `XML`,`IPTC`, `XMP` and `EXIF` meta-data
1918
* full encode/decode support for `monochrome`, `sRGB`, `palette`, `YCC`, `extended YCC`, `CIELab` and `CMYK` colour spaces

cmake/GrokCPack.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
88
endif()
99

1010
set(GROK_PACKAGEDESCRIPTION_SUMMARY "Grok JPEG 2000 Toolkit")
11-
set(GROK_PACKAGECONTACT "boxerab@protonmail.com")
11+
set(GROK_PACKAGECONTACT "support@grokcompression.com")
1212

1313
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${GROK_PACKAGEDESCRIPTION_SUMMARY})
1414
set(CPACK_PACKAGE_VENDOR "Grok Image Compression Inc.")
@@ -19,7 +19,7 @@ if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
1919
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/LICENSE.txt")
2020
set(CPACK_PACKAGE_VERSION_MAJOR "${GROK_VERSION_MAJOR}")
2121
set(CPACK_PACKAGE_VERSION_MINOR "${GROK_VERSION_MINOR}")
22-
set(CPACK_PACKAGE_VERSION_PATCH "${GROK_VERSION_BUILD}")
22+
set(CPACK_PACKAGE_VERSION_PATCH "${GROK_VERSION_PATCH}")
2323
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Grok ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
2424
set(CPACK_SOURCE_PACKAGE_FILE_NAME "Grok-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
2525

cmake/GrokConfig.cmake.in

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#-----------------------------------------------------------------------------
2+
#
3+
# GrokConfig.cmake - CMake configuration file for external projects.
4+
#
5+
# This file is configured by Grok and used to load Grok's settings for external projects.
6+
@PACKAGE_INIT@
7+
8+
# The Grok version number
9+
set(Grok_VERSION_MAJOR "@GROK_VERSION_MAJOR@")
10+
set(Grok_VERSION_MINOR "@GROK_VERSION_MINOR@")
11+
set(Grok_VERSION_PATCH "@GROK_VERSION_PATCH@")
12+
set(Grok_VERSION "@GROK_VERSION_MAJOR@.@GROK_VERSION_MINOR@.@GROK_VERSION_PATCH@")
13+
14+
# The libraries
15+
set(Grok_LIBRARIES "GROK::@GROK_CORE_NAME@" "GROK::@GROK_CODEC_NAME@")
16+
17+
# CMake macros directory
18+
set(Grok_CMAKE_DIR "@GROK_INSTALL_PACKAGE_DIR@")
19+
20+
# Configuration options
21+
set(Grok_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@")
22+
23+
# Determine the prefix directory
24+
set(PACKAGE_PREFIX_DIR "@CMAKE_INSTALL_PREFIX@")
25+
26+
# Detect install or build tree
27+
get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
28+
if(EXISTS "${SELF_DIR}/GrokTargets.cmake")
29+
# Install tree
30+
include("${SELF_DIR}/GrokTargets.cmake")
31+
32+
# Include directories
33+
set(Grok_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/@GROK_INSTALL_SUBDIR@")
34+
35+
elseif(EXISTS "${SELF_DIR}/GrokExports.cmake")
36+
# Build tree
37+
include("${SELF_DIR}/GrokExports.cmake")
38+
39+
# Include directories for build tree
40+
set(Grok_INCLUDE_DIRS "@GROK_INCLUDE_PATH@")
41+
42+
else()
43+
# Error if neither install nor build tree targets are found
44+
message(FATAL_ERROR
45+
"Could not find GrokTargets.cmake (install tree) or GrokExports.cmake (build tree). "
46+
"Ensure Grok is built and installed correctly.")
47+
endif()
48+
49+
# Backward compatibility variables
50+
set(Grok_FOUND TRUE)
51+

0 commit comments

Comments
 (0)