Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
380 commits
Select commit Hold shift + click to select a range
d6b581c
[popsift] using unique_ptr instead of raw pointer for threads
simogasp Feb 9, 2020
10ea9a0
[cmake] minimum version 3.12
simogasp Feb 13, 2020
845cba4
[doc] add changelog
simogasp Feb 13, 2020
1f218a9
[doc] describe float* input option to readme
Feb 21, 2020
63cc139
[doc] added CII badge
simogasp Feb 21, 2020
d2d7618
[popsift] no need to explicit init
simogasp Feb 21, 2020
72796c8
[popsift] removed default and copy constructors
simogasp Feb 21, 2020
d6204cf
[popsift] fix uninit members
simogasp Feb 21, 2020
fb033e4
[cmake] add language CXX to apps
simogasp Feb 21, 2020
da4aeda
[popsift] remove redundant 0-initialization
Feb 24, 2020
956bf22
[cmake] add message when popsift found in apps
simogasp Feb 25, 2020
9a7c9ec
[cmake] first attempt at CMake script for choosing CCs
Feb 25, 2020
a12d236
[cmake] fix parameter list for ChooseCudaCC
Feb 25, 2020
6856846
[cmake] use cmake helper function ChooseCudaCC
Feb 25, 2020
21baa3e
[cmake] correct CUDA version error output
Feb 25, 2020
717f108
[cuda] remove partially incompatible launch bound
Feb 25, 2020
ec84e9c
[cmake] fix camelCase
Feb 25, 2020
3e624d2
Merge pull request #71 from alicevision/dev/autoUninit
simogasp Feb 25, 2020
dd3949b
[cmake] add vocal parameters, handle cached CCs
Feb 26, 2020
85946b3
[doc] added codacy badge
simogasp Feb 26, 2020
f49263d
Merge branch 'develop' into dev/cleaning
simogasp Feb 26, 2020
9ccbec3
[ci] add debug build
simogasp Feb 24, 2020
1705930
[cmake] remove cuda CC that fail in debug
simogasp Feb 25, 2020
aa29216
[cmake] reinstate cc 35
simogasp Feb 25, 2020
8c2f60e
[ci] use cache only once
simogasp Feb 26, 2020
99b7419
[ci] sudo not required
simogasp Feb 26, 2020
40965e3
[ci] using xenial with 8 9.2 and 10.2
simogasp Feb 26, 2020
2bb8325
[ci] --allow-unauthenticated
simogasp Feb 26, 2020
2629151
[ci] cuda 10 changed to standard package names
simogasp Feb 26, 2020
a70d6b7
[ci] missing the key?
simogasp Feb 26, 2020
ce9fa95
[ci] cublas changed the name!
simogasp Feb 26, 2020
af77e93
[cmake] fix usage for ChooseCudaCC
Feb 27, 2020
0aa91c5
Add a basic sync_queue class.
andrew-hardin Apr 10, 2020
e979663
Replace boost::sync_queue and boost::thread with SyncQueue and std::t…
andrew-hardin Apr 10, 2020
6fc334e
Isolate the boost requirements in src/application.
andrew-hardin Apr 10, 2020
2052529
Munge with the README to reflect changes to the boost requirement.
andrew-hardin Apr 10, 2020
6586b54
Remove boost link/include from popsift.
andrew-hardin Apr 10, 2020
3a58df9
Ignore the reference.tgz that's created by a test.
andrew-hardin Apr 10, 2020
3b469ca
Also link to the threads library.
andrew-hardin Apr 10, 2020
1793247
Add the boost system component; reintroduce win32 condition.
andrew-hardin Apr 10, 2020
f88f56d
Add doxygen comments to SyncQueue.
andrew-hardin Apr 10, 2020
f73fd9f
Move find(threads) to root list; use modern threads target.
andrew-hardin Apr 10, 2020
7a40eb3
Move boost static libs option down to application.
andrew-hardin Apr 10, 2020
54a68ec
Remove boost from the popsift package; add threads.
andrew-hardin Apr 10, 2020
3c420e5
Remove obsolete(?) win32 boost instructions.
andrew-hardin Apr 10, 2020
f763f12
Find threads when loading the config if it hasn't been loaded yet.
andrew-hardin Apr 10, 2020
2f3b142
Resolve two race conditions identified by racecheck.
andrew-hardin Apr 10, 2020
d7ff256
Remove unnecessary sync.
andrew-hardin Apr 12, 2020
c238a92
Resolve the race condition.
andrew-hardin Apr 12, 2020
bf1c559
Merge pull request #72 from alicevision/dev/cleaning
fabiencastan Apr 12, 2020
deab76b
Merge branch 'develop' into feature/remove-boost-from-core
andrew-hardin Apr 14, 2020
6e4428b
Reintroduce sync, and set the total on every thread.
andrew-hardin Apr 14, 2020
249bbca
Replace find_package with find_dependency.
andrew-hardin Apr 14, 2020
d0edb05
Bump sync up by one line.
andrew-hardin Apr 14, 2020
3ebbaee
use the Cordis URL for Popart
Apr 14, 2020
f603edf
Add sync(), move sync() up a line.
andrew-hardin Apr 14, 2020
d730360
[doc] readme: update popart link
fabiencastan Apr 15, 2020
9566c37
[doc] readme: add link to cordis
fabiencastan Apr 15, 2020
77665dd
Merge pull request #84 from alicevision/fix/poparturl
fabiencastan Apr 15, 2020
a993efc
[doc] readme: update SIFT patent description
fabiencastan Apr 15, 2020
ae3ee38
[doc] readme: update SIFT patent description
fabiencastan Apr 15, 2020
ad2fc88
Merge pull request #85 from alicevision/readme-sift-patent
fabiencastan Apr 15, 2020
fadb397
Merge pull request #75 from alicevision/dev/chooseCudaCC
fabiencastan Apr 16, 2020
df7c387
Merge branch 'develop' into ci/xenial
fabiencastan Apr 16, 2020
376979c
Merge pull request #78 from alicevision/ci/xenial
fabiencastan Apr 17, 2020
7d63bf9
[apps] minor build fix for msvc
fabiencastan Apr 20, 2020
fcc9264
[ci] build examples on appveyor
fabiencastan Apr 20, 2020
42bda27
Merge pull request #86 from alicevision/fix/apps_win
simogasp Apr 20, 2020
bf3556f
Merge pull request #82 from andrew-hardin/fix/two-races
fabiencastan Apr 20, 2020
149de05
Merge pull request #81 from andrew-hardin/feature/remove-boost-from-core
simogasp Apr 20, 2020
b584a12
Update Dockerfile
simogasp Apr 20, 2020
d37302c
[doc] changelog
simogasp Apr 21, 2020
b8df673
[docker] do not use cd
simogasp Apr 21, 2020
cea0cbd
[ci] debug on appveyor
simogasp Apr 28, 2020
5d09d4a
[ci] testing shared and static
simogasp Apr 29, 2020
18a9032
[popsift] test whether image fits into CUDA textures
Apr 29, 2020
b8f0cc5
[ci] testing %DBUILD_SHARED_LIBS%
simogasp Apr 29, 2020
318ae82
[ci] testing manually replacing \MD for static build
simogasp Apr 29, 2020
edf7b69
Remove stale function that's not implemented.
andrew-hardin Apr 30, 2020
b4aee06
Merge pull request #90 from andrew-hardin/remove/stale-code
fabiencastan May 2, 2020
386a073
[common] preincrement
simogasp May 3, 2020
8d11841
[popsift] declaration and init
simogasp May 3, 2020
b3a6537
[popsift] simplify return
simogasp May 3, 2020
6175918
[popsift] nullptr
simogasp May 3, 2020
f60ef34
[popsift] just formatting
simogasp May 3, 2020
7fc809b
Merge pull request #89 from alicevision/dev/sizecheck
May 7, 2020
bdc4e72
[cmake]-std=c++11 not hardcoded for MSVC because it is propagated to …
simogasp May 9, 2020
d7a779a
[cmake];-fPIC not hardcoded for MSVC because it is propagated to nvcc…
simogasp May 9, 2020
2db2ae2
[cmake] use correct flags for static build for MSVC
simogasp May 9, 2020
a67f9cf
[cmake] force /MT and /MD into nvcc for windows
simogasp May 9, 2020
73e5e08
[cmake] remove BOOST_ALL_DYN_LINK BOOST_ALL_NO_LIB
simogasp May 9, 2020
bff7c92
[popsift] use nullptr
simogasp May 11, 2020
0010d87
[popsift] unneeded ;
simogasp May 11, 2020
c5583da
[cmake] fix typo
simogasp May 11, 2020
8e4aef7
[cmake] set CMAKE_BUILD_TYPE values
simogasp May 11, 2020
9e23dd0
[cmake] linker flags
simogasp May 11, 2020
8d2b8b0
[cmake] simplify PopSift_MVSC_LINKER
simogasp May 11, 2020
1640d9a
[cmake] doc
simogasp May 11, 2020
d8769ca
[cmake] boost not used anymore
simogasp May 11, 2020
1f6a337
[cmake] fix message for pic
simogasp May 11, 2020
15004ce
[cmake] no pic for MSVC
simogasp May 11, 2020
50bf0f9
[cmake] lowercase
simogasp May 11, 2020
ca544d4
[apps] use EXIT_SUCCESS
simogasp May 11, 2020
066f07f
[cmake] add -fPIE for exe
simogasp May 11, 2020
a62e684
[cmake] cleaning
simogasp May 15, 2020
30d5818
[ci] win only shared
simogasp May 15, 2020
bdc6baa
[docker] split deps and image
simogasp May 15, 2020
44b3d43
[docker] fix nproc
simogasp May 15, 2020
144e747
[clangformat] add header order policy
simogasp May 15, 2020
329d9ad
[popsfit] reorder include headers
simogasp May 15, 2020
7c9bf57
[popsfit] explicit
simogasp May 15, 2020
da9f6a3
[popsfit] nullptr
simogasp May 15, 2020
bbec0aa
[popsift] removing const for primitive types in function params
simogasp May 15, 2020
720b25d
[popsift] default constructors
simogasp May 15, 2020
df7b9c4
[popsift] override instead of virtual
simogasp May 15, 2020
42db7fe
[popsift] missing init
simogasp May 15, 2020
7dce142
[popsfit] nullptr
simogasp May 15, 2020
7b3298a
[popsfit] const methods
simogasp May 15, 2020
32037e9
[popsfit] improvements
simogasp May 15, 2020
9a9b5a8
[popsfit] unused
simogasp May 15, 2020
0b0c2e0
[popsift] unused variables
simogasp May 15, 2020
e3279a3
[popsift] wrong return type
simogasp May 15, 2020
806fd95
[docker] switch popsift-deps
simogasp May 17, 2020
9838498
Merge pull request #92 from alicevision/ci/win/addDebug
fabiencastan May 17, 2020
e8947bf
Merge pull request #87 from alicevision/docker/updateCmake
fabiencastan May 17, 2020
ca2aedb
[popsift] removed unimplemented functions
simogasp May 30, 2020
96d3732
[cmake] CMAKE_RUNTIME_OUTPUT_DIRECTORY and CMAKE_LIBRARY_OUTPUT_DIREC…
simogasp May 30, 2020
a6b1be5
[cmake] conditional project for apps
simogasp May 30, 2020
afd0685
[cmake] apps CMAKE_RUNTIME_OUTPUT_DIRECTORY and CMAKE_LIBRARY_OUTPUT_…
simogasp May 30, 2020
a565915
[cmake] apps use GNUInstallDirs
simogasp May 30, 2020
f432e6a
[doc] updates changes
simogasp May 30, 2020
227624d
Merge pull request #97 from alicevision/doc/changesPreV1
fabiencastan May 30, 2020
703f70a
[popsift] removed unimplemented function
simogasp May 30, 2020
f63d305
Merge pull request #95 from alicevision/code/cleanupV1
fabiencastan May 31, 2020
638bf75
[doc] add doxygen and sphinx
simogasp Jun 29, 2020
564cfec
[doc] some fixing and completion to doxygen
simogasp Jun 29, 2020
e24d12a
[doc] add .readthedocs.yml
simogasp Jun 29, 2020
2ce9960
[cmake] by default do not build the doc
simogasp Jul 2, 2020
387face
[ci] do not build the doc
simogasp Jul 2, 2020
568a4c9
[cmake] add support CC for cuda 11
simogasp Jul 24, 2020
5cebd39
[ci] add cuda 11
simogasp Jul 24, 2020
2d9ad34
[ci] test cuda 11
simogasp Jul 24, 2020
d5c63cb
[cmake] CUDA SDK 11 requires C++14
Jul 30, 2020
f763b0f
[cmake] Add explicit nvcc flags -std=c++14 for SDK 11+
Jul 30, 2020
3524202
[cmake] shorter C++ Std 11/14 distinction
Jul 31, 2020
29ea652
[cuda] C++14 is now required
Jul 31, 2020
29363b2
[cuda] SDK 8 does not support C++14
Jul 31, 2020
998db9d
[cmake] testfile location in CMake cache
Jul 30, 2020
e7e3141
[doc] clarify that SKD 11 does not support CC 3.0 any more
Jul 30, 2020
b84581d
[test] slightly better feature comparison file
Jul 30, 2020
4de4db6
Update README.md
Aug 4, 2020
4f50f4c
[doc] updated changelog
simogasp Aug 10, 2020
63f11cd
Merge pull request #103 from alicevision/cuda/support11
simogasp Aug 10, 2020
27144e3
Merge branch 'develop' into dev/fixTestingPaths
Sep 2, 2020
8f818c3
[bug] pair malloc with free, not delete
Sep 10, 2020
800b7b1
[bugfix] fumbling in the dark
Sep 11, 2020
b28eaf4
[bugfix] use helper function for histogram smoothing
Sep 11, 2020
913b358
[bugfix] origin of the bug: using CUDA shared mem but claiming 0 bytes
Sep 11, 2020
069570d
Merge pull request #108 from alicevision/bug/mallocDelete
fabiencastan Oct 2, 2020
b23338e
Merge pull request #109 from alicevision/fix/misalignBugOri
fabiencastan Oct 2, 2020
614b942
Update testScripts/testOxfordDataset.sh.in
Oct 2, 2020
f04e17a
Update testScripts/TEST.sh.in
Oct 2, 2020
309e1a3
[testing] remove too long path prefix
Oct 5, 2020
d14aa17
Merge pull request #104 from alicevision/dev/fixTestingPaths
fabiencastan Oct 5, 2020
de86c1c
Merge branch 'develop' into doc/first
fabiencastan Oct 5, 2020
3cd0836
Merge pull request #100 from alicevision/doc/first
fabiencastan Oct 5, 2020
13cf942
[cmake] added support for SM86
simogasp Oct 6, 2020
c8a669b
Merge pull request #113 from alicevision/cuda/sm86support
griwodz Oct 7, 2020
d6cb770
[cmake] fix sm 86 is only for cuda >= 11.1
simogasp Oct 28, 2020
fafcad9
Merge pull request #116 from alicevision/fix/cuda11
griwodz Oct 29, 2020
290e142
add support for device selection and multiple GPUs
mitjap Nov 20, 2020
e9cd9ad
minor improvements
mitjap Jan 4, 2021
5bbd332
Merge pull request #121 from mitjap/multi_gpu
griwodz Jan 5, 2021
c6bda37
[cmake] suppress deprecated cuda sm warnings
simogasp Feb 2, 2021
9dd7ae4
Merge pull request #124 from alicevision/cuda/no_deprecated_warnings
fabiencastan Feb 10, 2021
c37087a
[doc] vcpkg now has the popsift package
simogasp Mar 11, 2021
108564e
[doc] refer to the rtd in the readme
simogasp Mar 11, 2021
026a41f
[doc] move CI in a different location in readme
simogasp Mar 11, 2021
305078f
Merge pull request #129 from alicevision/doc/updateVcpkg
simogasp May 15, 2021
a5f6d60
[doc] fix biblio build
simogasp Jun 24, 2021
2889ba3
Merge pull request #132 from alicevision/doc/fixbiblio
fabiencastan Jul 4, 2021
273adb1
Add missing thrust include
puzzlepaint Aug 28, 2021
4c22d41
Merge pull request #135 from puzzlepaint/fix_missing_thrust_include
simogasp Aug 30, 2021
f872278
Replace exit() call with thrown exceptions
Azhng Jan 29, 2021
7b664e2
add required thrust include for s_filtergrid.cu
Azhng Feb 21, 2023
c0dc3d8
Merge pull request #144 from Azhng/fix-thrust-include-in-cuda-12
simogasp Feb 21, 2023
fb3c107
[popsift] Use width in elements instead of bytes in checkLimit_2Dsurf…
gregoire-dl Mar 6, 2023
dc7302e
[popsift] plane_2d: Use size_t type for memory size in bytes
gregoire-dl Mar 6, 2023
88acf53
Add support for CUDA versions through 12.1.
BillyONeal Mar 16, 2023
9e5a50d
Remove checking for hardware 87.
BillyONeal Mar 21, 2023
fd21d35
Merge pull request #146 from BillyONeal/develop
simogasp Mar 24, 2023
d49f2ed
[ci] added github actions for CI
simogasp Mar 24, 2023
819f70d
[docker] updated docker for dependencies
simogasp Mar 24, 2023
cfe0c6e
[doc] fix codacy badge in readme
simogasp Mar 24, 2023
0ebc70d
[doc] update github action badge in readme
simogasp Mar 24, 2023
0e99e69
[doc]codacy fix
simogasp Mar 25, 2023
7469b40
[ci] take into account build type
simogasp Mar 25, 2023
7801d02
[doc] codacy requires * instead of -
simogasp Mar 25, 2023
84280d5
[ci] exclude Debug on latest cuda as there is a segmentation error
simogasp Mar 25, 2023
3552da5
Merge pull request #145 from alicevision/fix/largeImages
fabiencastan Mar 27, 2023
e1b030a
Merge pull request #149 from alicevision/dev/ci/add_actions
fabiencastan Jun 9, 2023
eec4c11
Merge branch 'develop' into exception
simogasp Jun 9, 2023
e8bb205
missing include
simogasp Jun 10, 2023
4b4b247
Merge pull request #141 from Azhng/exception
simogasp Jun 10, 2023
acb7be5
[cmake] CUDA as first order language
Jul 26, 2024
ed66026
[cuda/c++] PI is needed on host as well, C++20 constants not availabl…
Jul 31, 2024
ddbc2e5
[ci] update Travis
Jul 26, 2024
7bbad38
[ci] Update cudaInstallAppveyor.cmd
Jul 26, 2024
cdff08d
[cuda] updating from classic NVXT to nvtx3
Jul 30, 2024
2175ee5
[ci] expand CI tests for appveyor and travis
Jul 30, 2024
a6f8113
[doc] readme: update minimal boost version
fabiencastan Aug 9, 2024
bdd37e5
Merge pull request #156 from alicevision/dev/cmake-lang-cuda
fabiencastan Aug 10, 2024
494408e
explicit CC list for Jetson and Tegra platforms
Aug 12, 2024
66f1ed6
Merge pull request #163 from alicevision/dev/cmake-native-cuda-jetson
griwodz Aug 13, 2024
8623b69
Remove broken and unused code path from L2 normalization (#166)
griwodz Aug 14, 2024
abef1d4
Remove profiling nvtx from develop branch.
Aug 12, 2024
5e85a1d
Add new CMake policy for Boost integration
Jan 13, 2025
e34fdc6
fix compile for CUDA 13
NathanMOlson Aug 24, 2025
0b4a2be
Update src/application/CMakeLists.txt
simogasp Aug 26, 2025
b85d063
remove changes that conflict with (and are overcome by) PR #162
NathanMOlson Aug 26, 2025
7d59a27
Merge pull request #162 from alicevision/dev/cmake-lang-cuda
simogasp Aug 26, 2025
4c77e8c
[cuda] Adding a VLFeat-compliant feature descriptor
Aug 13, 2024
bf754cf
Update src/popsift/sift_conf.cu
griwodz Aug 26, 2025
b8aca36
[popsift] added a vlFeat-compliant descriptor computation
Aug 29, 2025
cf2d0e8
Merge pull request #167 from alicevision/dev/vlfeat-like-descriptor
simogasp Aug 29, 2025
de63598
Add Windows CI jobs to GitHub Actions workflow
Copilot Aug 26, 2025
08b3462
Update README to reflect GitHub Actions Windows CI support
Copilot Aug 26, 2025
4d7a740
Address PR review feedback: update Windows CI configuration
Copilot Aug 26, 2025
10db5fa
Update .github/workflows/continuous-integration.yml
simogasp Aug 26, 2025
b6856f6
Update .github/workflows/continuous-integration.yml
simogasp Aug 26, 2025
7494ea6
[ci] Refactor CI workflow to eliminate matrix overhead and code dupli…
simogasp Aug 27, 2025
7be5fc0
add vcpkg.json
simogasp Aug 27, 2025
70404e8
[ci] add caching
simogasp Aug 27, 2025
d603363
[ci] removed cache for linux
simogasp Aug 27, 2025
90891af
[ci] fix the build as 3rd party
simogasp Aug 27, 2025
9deb12d
[ci] added documentation
simogasp Aug 27, 2025
48bf92d
[ci] use a single directory for vcpkg installed dir
simogasp Aug 27, 2025
8467d19
[ci] comment out debug steps
simogasp Aug 27, 2025
5d86efc
[doc] typos fixes for README.md
simogasp Aug 28, 2025
eab1943
[doc] typos fixes for the ci README.md
simogasp Aug 28, 2025
6b655b9
[ci] removed appveyor
simogasp Aug 28, 2025
fec0ca2
[ci] fixes for linux sh
simogasp Aug 28, 2025
feb71ed
[ci] test PopSift_USE_GRID_FILTER:BOOL=ON
simogasp Aug 28, 2025
2637d48
Merge pull request #172 from alicevision/copilot/fix-171
simogasp Aug 29, 2025
6c0dcb5
Merge branch 'develop' into cuda13
simogasp Aug 29, 2025
a19d394
Merge pull request #169 from NathanMOlson/cuda13
simogasp Aug 29, 2025
80aabcf
[release] Update version to 0.10.0 (#174)
simogasp Oct 14, 2025
485bc6a
[ci] Enable weekly CI build on Mondays
simogasp Oct 14, 2025
034a339
[doc] add date of release
simogasp Oct 14, 2025
06313cb
|debug] Add output for intermediate images during Gaussian pyramid bu…
griwodz Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
BasedOnStyle: Mozilla
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakTemplateDeclarations: true
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeInheritanceComma: false
ColumnLimit: 120
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
Cpp11BracedListStyle: true
DerivePointerAlignment: false
IndentCaseLabels: true
IndentWidth: 4
KeepEmptyLinesAtTheStartOfBlocks: false
Language: Cpp
PointerAlignment: Left
ReflowComments: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Never
SpaceInEmptyParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: "c++11"
IncludeCategories:
- Regex: '^".*"'
Priority: 1
- Regex: '^<popsift/.*>'
Priority: 2
- Regex: '^<.*\..*>'
Priority: 3
SortIncludes: true
IncludeBlocks: Regroup
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve
title: "[bug]"
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Log**
If applicable, copy paste the relevant log output (please embed the text in a markdown code tag "\`\`\`" )

**Desktop (please complete the following and other pertinent information):**
- OS: [e.g. win 10, osx, ]
- PopSift version: please specify if you are using a release version or your own build
- Binary version (if applicable) [e.g. 2019.1]
- Commit reference (if applicable) [e.g. 08ddbe2]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[request]"
labels: feature request
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/question_help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Question or help needed
about: Ask question or for help for issues not related to program failures (e.g. "where I can find this feature", "my image is not recognized", "which parameter setting shall I use" etc...)
title: "[question]"
labels: type:question
assignees: ''

---

**Describe the problem**
A clear and concise description of what the problem is.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Dataset**
If applicable, add a link or *few* images to help better understand where the problem may come from.

**Log**
If applicable, copy paste the relevant log output (please embed the text in a markdown code tag "\`\`\`" )

**Desktop (please complete the following and other pertinent information):**
- OS: [e.g. win 10, osx, ]
- PopSift version: please specify if you are using a release version or your own build
- Binary version (if applicable) [e.g. 2019.1]
- Commit reference (if applicable) [e.g. 08ddbe2]

**Additional context**
Add any other context about the problem here.
81 changes: 81 additions & 0 deletions .github/actions/build-config/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: 'Build Configuration'
description: 'Build PopSift for a specific configuration (Release/Debug)'

inputs:
build-type:
description: 'Build type (Release or Debug)'
required: true
platform:
description: 'Platform (linux or windows)'
required: true
deps-install-dir:
description: 'Dependencies install directory (Linux only)'
required: false
default: '/opt/'
vcpkg-root:
description: 'vcpkg root directory (Windows only)'
required: false
workspace-dir:
description: 'Workspace directory (Windows only)'
required: false

runs:
using: 'composite'
steps:
# Linux steps
- name: Setup directories (Linux)
if: inputs.platform == 'linux'
shell: bash
run: |
source ./.github/scripts/build-linux.sh
BUILD_TYPE=${{ inputs.build-type }} setup_directories

- name: Configure CMake (Linux)
if: inputs.platform == 'linux'
shell: bash
run: |
source ./.github/scripts/build-linux.sh
configure_cmake "${{ inputs.build-type }}" "${{ inputs.deps-install-dir }}"

- name: Build and Install (Linux)
if: inputs.platform == 'linux'
shell: bash
run: |
source ./.github/scripts/build-linux.sh
build_and_install "${{ inputs.build-type }}"

- name: Build As Third Party (Linux)
if: inputs.platform == 'linux'
shell: bash
run: |
source ./.github/scripts/build-linux.sh
build_as_third_party "${{ inputs.build-type }}" "${{ inputs.deps-install-dir }}"

# Windows steps
- name: Setup directories (Windows)
if: inputs.platform == 'windows'
shell: powershell
run: |
. .\.github\scripts\build-windows.ps1
Setup-Directories -BuildType "${{ inputs.build-type }}"

- name: Configure CMake (Windows)
if: inputs.platform == 'windows'
shell: powershell
run: |
. .\.github\scripts\build-windows.ps1
Configure-CMake -BuildType "${{ inputs.build-type }}" -VcpkgRoot "${{ inputs.vcpkg-root }}" -WorkspaceDir "${{ inputs.workspace-dir }}"

- name: Build and Install (Windows)
if: inputs.platform == 'windows'
shell: powershell
run: |
. .\.github\scripts\build-windows.ps1
Build-AndInstall -BuildType "${{ inputs.build-type }}"

- name: Build As Third Party (Windows)
if: inputs.platform == 'windows'
shell: powershell
run: |
. .\.github\scripts\build-windows.ps1
Build-AsThirdParty -BuildType "${{ inputs.build-type }}" -VcpkgRoot "${{ inputs.vcpkg-root }}" -WorkspaceDir "${{ inputs.workspace-dir }}"
29 changes: 29 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!-- Checklist before submission:

- I have read the [contribution guidelines](../CONTRIBUTING.md).
- I have updated the documentation, if applicable.
- I have ensured that the change is tested somewhere.
- I have followed the prevailing code style (for history readability and limit conflicts for maintainance).

-->
## Description



## Features list

<!--
- [ ] Feature one. Fix #XXX
- [ ] Improve something else
- [ ] Connect to #3 (to declare link to issues without closing it when the PR is merged).
- [X] Add "X" when it is done.
-->


## Implementation remarks


<!--
Explain main implementation choices.
It is also the right place to ask for feedback and help when you hesitate on the implementation.
-->
71 changes: 71 additions & 0 deletions .github/scripts/build-linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/bin/bash
# Linux build functions for PopSift
# Usage: source this file and call the individual functions

# Creates the necessary build directories for different build types
# Uses BUILD_TYPE environment variable to create build and install directories
setup_directories() {
echo "Setting up build directories..."
mkdir -p ./build_"${BUILD_TYPE,,}"
mkdir -p ./build_as_3rdparty_"${BUILD_TYPE,,}"
mkdir -p ../popsift_install_"${BUILD_TYPE,,}"
}

# Configures CMake for PopSift build with specified options
# Parameters:
# $1 - build_type: Release or Debug
# $2 - deps_dir: Directory containing pre-installed dependencies (e.g., /opt/)
# Creates a build directory named <build_$build_type> and runs CMake configuration with PopSift-specific options
configure_cmake() {
local build_type="$1"
local deps_dir="$2"
local build_dir="build_${build_type,,}"
local install_dir="../popsift_install_${build_type,,}"

echo "Configuring CMake for $build_type..."
cd "./$build_dir" || exit
cmake .. \
-DCMAKE_BUILD_TYPE="$build_type" \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_PREFIX_PATH="$deps_dir" \
-DPopSift_BUILD_DOCS:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX:PATH="$PWD/$install_dir"
cd ..
}

# Builds and installs PopSift for the specified build type
# Parameters:
# $1 - build_type: Release or Debug
# Uses parallel build with all available CPU cores
build_and_install() {
local build_type="$1"
local build_dir="build_${build_type,,}"

echo "Building and installing $build_type..."
cd "./$build_dir" || exit
cmake --build . --config "$build_type" --parallel
cmake --install . --config "$build_type"
cd ..
}

# Tests building PopSift applications as a third-party consumer
# This verifies that the installed PopSift can be found and used by external projects
# Parameters:
# $1 - build_type: Release or Debug
# $2 - deps_dir: Directory containing pre-installed dependencies
# Builds only the application from src/application using the installed PopSift library
build_as_third_party() {
local build_type="$1"
local deps_dir="$2"
local build_dir="build_as_3rdparty_${build_type,,}"
local install_dir="../popsift_install_${build_type,,}"

echo "Testing third-party build for $build_type..."
cd "./$build_dir" || exit
cmake ../src/application \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_BUILD_TYPE="$build_type" \
-DCMAKE_PREFIX_PATH:PATH="$PWD/$install_dir;$deps_dir"
cmake --build . --config "$build_type" --parallel
cd ..
}
Loading