├── .gitattributes
├── CMakeLists.txt
├── LICENSE
├── README.md
├── Results.xlsx
├── images
├── KITTI
│ └── 2011_09_26
│ │ └── image_00
│ │ └── data
│ │ ├── 0000000000.png
│ │ ├── 0000000001.png
│ │ ├── 0000000002.png
│ │ ├── 0000000003.png
│ │ ├── 0000000004.png
│ │ ├── 0000000005.png
│ │ ├── 0000000006.png
│ │ ├── 0000000007.png
│ │ ├── 0000000008.png
│ │ └── 0000000009.png
└── keypoints.png
├── out
└── build
│ └── x64-Debug
│ ├── .cmake
│ └── api
│ │ └── v1
│ │ └── query
│ │ └── client-MicrosoftVS
│ │ └── query.json
│ ├── CMakeCache.txt
│ ├── CMakeFiles
│ ├── 3.15.19101501-MSVC_2
│ │ ├── CMakeCCompiler.cmake
│ │ ├── CMakeCXXCompiler.cmake
│ │ ├── CMakeDetermineCompilerABI_C.bin
│ │ ├── CMakeDetermineCompilerABI_CXX.bin
│ │ ├── CMakeRCCompiler.cmake
│ │ ├── CMakeSystem.cmake
│ │ ├── CompilerIdC
│ │ │ ├── CMakeCCompilerId.c
│ │ │ ├── CMakeCCompilerId.exe
│ │ │ └── CMakeCCompilerId.obj
│ │ └── CompilerIdCXX
│ │ │ ├── CMakeCXXCompilerId.cpp
│ │ │ ├── CMakeCXXCompilerId.exe
│ │ │ └── CMakeCXXCompilerId.obj
│ ├── CMakeOutput.log
│ ├── ShowIncludes
│ │ ├── foo.h
│ │ ├── main.c
│ │ └── main.obj
│ └── cmake.check_cache
│ └── VSInheritEnvironments.txt
├── results
├── output-matches.gif
└── outputX-matches.gif
└── src
├── MidTermProject_Camera_Student.cpp
├── dataStructures.h
├── matching2D.hpp
└── matching2D_Student.cpp
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
2 |
3 | add_definitions(-std=c++11)
4 |
5 | set(CXX_FLAGS "-Wall")
6 | set(CMAKE_CXX_FLAGS, "${CXX_FLAGS}")
7 |
8 | project(camera_fusion)
9 |
10 | find_package(OpenCV 4.1 REQUIRED)
11 |
12 | include_directories(${OpenCV_INCLUDE_DIRS})
13 | link_directories(${OpenCV_LIBRARY_DIRS})
14 | add_definitions(${OpenCV_DEFINITIONS})
15 |
16 | # Executable for create matrix exercise
17 | add_executable (2D_feature_tracking src/matching2D_Student.cpp src/MidTermProject_Camera_Student.cpp)
18 | target_link_libraries (2D_feature_tracking ${OpenCV_LIBRARIES})
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Udacity
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 2D Feature Tracking
2 |
3 |
4 |
5 | This project focusses on building the feature tracking part and test various detector/descriptor combinations to see which ones perform best. It consists of four parts:
6 |
7 | * First, we will focus on loading images, setting up data structures, and putting everything into a ring buffer to optimize memory load.
8 | * Then, we will integrate several keypoint detectors - SHI-TOMASI, HARRIS, FAST, BRISK, ORB, AKAZE, and SIFT and compare them concerning the number of keypoints and speed.
9 | * In the next part, we will then focus on descriptor extraction and matching using brute force and also the FLANN approach.
10 | * In the last part, once the code framework is complete, we will test the various algorithms in different combinations and compare them about some performance measures.
11 |
12 |
13 | ## Dependencies for Running Locally
14 | * cmake >= 2.8
15 | * All OSes: [click here for installation instructions](https://cmake.org/install/)
16 | * make >= 4.1 (Linux, Mac), 3.81 (Windows)
17 | * Linux: make is installed by default on most Linux distros
18 | * Mac: [install Xcode command line tools to get make](https://developer.apple.com/xcode/features/)
19 | * Windows: [Click here for installation instructions](http://gnuwin32.sourceforge.net/packages/make.htm)
20 | * OpenCV >= 4.1
21 | * This must be compiled from source using the `-D OPENCV_ENABLE_NONFREE=ON` cmake flag for testing the SIFT and SURF detectors.
22 | * The OpenCV 4.1.0 source code can be found [here](https://github.com/opencv/opencv/tree/4.1.0)
23 | * gcc/g++ >= 5.4
24 | * Linux: gcc / g++ is installed by default on most Linux distros
25 | * Mac: same deal as make - [install Xcode command line tools](https://developer.apple.com/xcode/features/)
26 | * Windows: recommend using [MinGW](http://www.mingw.org/)
27 |
28 | ## Basic Build Instructions
29 |
30 | 1. Clone this repo.
31 | 2. Make a build directory in the top level directory: `mkdir build && cd build`
32 | 3. Compile: `cmake .. && make`
33 | 4. Run it: `./2D_feature_tracking`.
34 |
--------------------------------------------------------------------------------
/Results.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/Results.xlsx
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000000.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000000.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000001.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000002.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000003.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000004.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000005.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000005.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000006.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000006.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000007.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000007.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000008.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000008.png
--------------------------------------------------------------------------------
/images/KITTI/2011_09_26/image_00/data/0000000009.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/KITTI/2011_09_26/image_00/data/0000000009.png
--------------------------------------------------------------------------------
/images/keypoints.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/images/keypoints.png
--------------------------------------------------------------------------------
/out/build/x64-Debug/.cmake/api/v1/query/client-MicrosoftVS/query.json:
--------------------------------------------------------------------------------
1 | {"requests":[{"kind":"cache","version":2},{"kind":"cmakeFiles","version":1},{"kind":"codemodel","version":2}]}
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeCache.txt:
--------------------------------------------------------------------------------
1 | # This is the CMakeCache file.
2 | # For build in directory: c:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug
3 | # It was generated by CMake: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe
4 | # You can edit this file to change values found and used by cmake.
5 | # If you do not want to change any of the values, simply exit the editor.
6 | # If you do want to change a value, simply edit, save, and exit the editor.
7 | # The syntax for the file is as follows:
8 | # KEY:TYPE=VALUE
9 | # KEY is the name of a variable in the cache.
10 | # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
11 | # VALUE is the current value for the KEY.
12 |
13 | ########################
14 | # EXTERNAL cache entries
15 | ########################
16 |
17 | //Choose the type of build, options are: None Debug Release RelWithDebInfo
18 | // MinSizeRel ...
19 | CMAKE_BUILD_TYPE:STRING=Debug
20 |
21 | //No help, variable specified on the command line.
22 | CMAKE_CXX_COMPILER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/HostX64/x64/cl.exe
23 |
24 | //Flags used by the CXX compiler during all build types.
25 | CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /W3 /GR /EHsc
26 |
27 | //Flags used by the CXX compiler during DEBUG builds.
28 | CMAKE_CXX_FLAGS_DEBUG:STRING=/MDd /Zi /Ob0 /Od /RTC1
29 |
30 | //Flags used by the CXX compiler during MINSIZEREL builds.
31 | CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/MD /O1 /Ob1 /DNDEBUG
32 |
33 | //Flags used by the CXX compiler during RELEASE builds.
34 | CMAKE_CXX_FLAGS_RELEASE:STRING=/MD /O2 /Ob2 /DNDEBUG
35 |
36 | //Flags used by the CXX compiler during RELWITHDEBINFO builds.
37 | CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/MD /Zi /O2 /Ob1 /DNDEBUG
38 |
39 | //Libraries linked by default with all C++ applications.
40 | CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
41 |
42 | //No help, variable specified on the command line.
43 | CMAKE_C_COMPILER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/HostX64/x64/cl.exe
44 |
45 | //Flags used by the C compiler during all build types.
46 | CMAKE_C_FLAGS:STRING=/DWIN32 /D_WINDOWS /W3
47 |
48 | //Flags used by the C compiler during DEBUG builds.
49 | CMAKE_C_FLAGS_DEBUG:STRING=/MDd /Zi /Ob0 /Od /RTC1
50 |
51 | //Flags used by the C compiler during MINSIZEREL builds.
52 | CMAKE_C_FLAGS_MINSIZEREL:STRING=/MD /O1 /Ob1 /DNDEBUG
53 |
54 | //Flags used by the C compiler during RELEASE builds.
55 | CMAKE_C_FLAGS_RELEASE:STRING=/MD /O2 /Ob2 /DNDEBUG
56 |
57 | //Flags used by the C compiler during RELWITHDEBINFO builds.
58 | CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/MD /Zi /O2 /Ob1 /DNDEBUG
59 |
60 | //Libraries linked by default with all C applications.
61 | CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
62 |
63 | //Flags used by the linker during all build types.
64 | CMAKE_EXE_LINKER_FLAGS:STRING=/machine:x64
65 |
66 | //Flags used by the linker during DEBUG builds.
67 | CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
68 |
69 | //Flags used by the linker during MINSIZEREL builds.
70 | CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
71 |
72 | //Flags used by the linker during RELEASE builds.
73 | CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
74 |
75 | //Flags used by the linker during RELWITHDEBINFO builds.
76 | CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
77 |
78 | //Enable/Disable output of compile commands during generation.
79 | CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
80 |
81 | //No help, variable specified on the command line.
82 | CMAKE_INSTALL_PREFIX:PATH=C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/install/x64-Debug
83 |
84 | //Path to a program.
85 | CMAKE_LINKER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/link.exe
86 |
87 | //make program
88 | CMAKE_MAKE_PROGRAM:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe
89 |
90 | //Flags used by the linker during the creation of modules during
91 | // all build types.
92 | CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:x64
93 |
94 | //Flags used by the linker during the creation of modules during
95 | // DEBUG builds.
96 | CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
97 |
98 | //Flags used by the linker during the creation of modules during
99 | // MINSIZEREL builds.
100 | CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
101 |
102 | //Flags used by the linker during the creation of modules during
103 | // RELEASE builds.
104 | CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
105 |
106 | //Flags used by the linker during the creation of modules during
107 | // RELWITHDEBINFO builds.
108 | CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
109 |
110 | //Path to a program.
111 | CMAKE_MT:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/mt.exe
112 |
113 | //Value Computed by CMake
114 | CMAKE_PROJECT_DESCRIPTION:STATIC=
115 |
116 | //Value Computed by CMake
117 | CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
118 |
119 | //Value Computed by CMake
120 | CMAKE_PROJECT_NAME:STATIC=camera_fusion
121 |
122 | //RC compiler
123 | CMAKE_RC_COMPILER:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/rc.exe
124 |
125 | //Flags for Windows Resource Compiler during all build types.
126 | CMAKE_RC_FLAGS:STRING=-DWIN32
127 |
128 | //Flags for Windows Resource Compiler during DEBUG builds.
129 | CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG
130 |
131 | //Flags for Windows Resource Compiler during MINSIZEREL builds.
132 | CMAKE_RC_FLAGS_MINSIZEREL:STRING=
133 |
134 | //Flags for Windows Resource Compiler during RELEASE builds.
135 | CMAKE_RC_FLAGS_RELEASE:STRING=
136 |
137 | //Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
138 | CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=
139 |
140 | //Flags used by the linker during the creation of shared libraries
141 | // during all build types.
142 | CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:x64
143 |
144 | //Flags used by the linker during the creation of shared libraries
145 | // during DEBUG builds.
146 | CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
147 |
148 | //Flags used by the linker during the creation of shared libraries
149 | // during MINSIZEREL builds.
150 | CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
151 |
152 | //Flags used by the linker during the creation of shared libraries
153 | // during RELEASE builds.
154 | CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
155 |
156 | //Flags used by the linker during the creation of shared libraries
157 | // during RELWITHDEBINFO builds.
158 | CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
159 |
160 | //If set, runtime paths are not added when installing shared libraries,
161 | // but are added when building.
162 | CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
163 |
164 | //If set, runtime paths are not added when using shared libraries.
165 | CMAKE_SKIP_RPATH:BOOL=NO
166 |
167 | //Flags used by the linker during the creation of static libraries
168 | // during all build types.
169 | CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:x64
170 |
171 | //Flags used by the linker during the creation of static libraries
172 | // during DEBUG builds.
173 | CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
174 |
175 | //Flags used by the linker during the creation of static libraries
176 | // during MINSIZEREL builds.
177 | CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
178 |
179 | //Flags used by the linker during the creation of static libraries
180 | // during RELEASE builds.
181 | CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
182 |
183 | //Flags used by the linker during the creation of static libraries
184 | // during RELWITHDEBINFO builds.
185 | CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
186 |
187 | //If this value is on, makefiles will be generated without the
188 | // .SILENT directive, and all commands will be echoed to the console
189 | // during the make. This is useful for debugging only. With Visual
190 | // Studio IDE projects all commands are done without /nologo.
191 | CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
192 |
193 | //The directory containing a CMake configuration file for OpenCV.
194 | OpenCV_DIR:PATH=OpenCV_DIR-NOTFOUND
195 |
196 | //Value Computed by CMake
197 | camera_fusion_BINARY_DIR:STATIC=C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug
198 |
199 | //Value Computed by CMake
200 | camera_fusion_SOURCE_DIR:STATIC=C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking
201 |
202 |
203 | ########################
204 | # INTERNAL cache entries
205 | ########################
206 |
207 | //This is the directory where this CMakeCache.txt was created
208 | CMAKE_CACHEFILE_DIR:INTERNAL=c:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug
209 | //Major version of cmake used to create the current loaded cache
210 | CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
211 | //Minor version of cmake used to create the current loaded cache
212 | CMAKE_CACHE_MINOR_VERSION:INTERNAL=15
213 | //Patch version of cmake used to create the current loaded cache
214 | CMAKE_CACHE_PATCH_VERSION:INTERNAL=19101501
215 | //Path to CMake executable.
216 | CMAKE_COMMAND:INTERNAL=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe
217 | //Path to cpack program executable.
218 | CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cpack.exe
219 | //Path to ctest program executable.
220 | CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/ctest.exe
221 | //ADVANCED property for variable: CMAKE_CXX_COMPILER
222 | CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
223 | //ADVANCED property for variable: CMAKE_CXX_FLAGS
224 | CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
225 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
226 | CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
227 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
228 | CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
229 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
230 | CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
231 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
232 | CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
233 | //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
234 | CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
235 | //ADVANCED property for variable: CMAKE_C_COMPILER
236 | CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
237 | //ADVANCED property for variable: CMAKE_C_FLAGS
238 | CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
239 | //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
240 | CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
241 | //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
242 | CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
243 | //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
244 | CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
245 | //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
246 | CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
247 | //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
248 | CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
249 | //Executable file format
250 | CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
251 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
252 | CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
253 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
254 | CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
255 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
256 | CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
257 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
258 | CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
259 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
260 | CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
261 | //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
262 | CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
263 | //Name of external makefile project generator.
264 | CMAKE_EXTRA_GENERATOR:INTERNAL=
265 | //Name of generator.
266 | CMAKE_GENERATOR:INTERNAL=Ninja
267 | //Generator instance identifier.
268 | CMAKE_GENERATOR_INSTANCE:INTERNAL=
269 | //Name of generator platform.
270 | CMAKE_GENERATOR_PLATFORM:INTERNAL=
271 | //Name of generator toolset.
272 | CMAKE_GENERATOR_TOOLSET:INTERNAL=
273 | //Source directory with the top level CMakeLists.txt file for this
274 | // project
275 | CMAKE_HOME_DIRECTORY:INTERNAL=C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking
276 | //ADVANCED property for variable: CMAKE_LINKER
277 | CMAKE_LINKER-ADVANCED:INTERNAL=1
278 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
279 | CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
280 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
281 | CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
282 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
283 | CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
284 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
285 | CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
286 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
287 | CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
288 | //ADVANCED property for variable: CMAKE_MT
289 | CMAKE_MT-ADVANCED:INTERNAL=1
290 | //number of local generators
291 | CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
292 | //Platform information initialized
293 | CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
294 | //ADVANCED property for variable: CMAKE_RC_COMPILER
295 | CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
296 | CMAKE_RC_COMPILER_WORKS:INTERNAL=1
297 | //ADVANCED property for variable: CMAKE_RC_FLAGS
298 | CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
299 | //ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
300 | CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
301 | //ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
302 | CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
303 | //ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
304 | CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
305 | //ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
306 | CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
307 | //Path to CMake installation.
308 | CMAKE_ROOT:INTERNAL=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.15
309 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
310 | CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
311 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
312 | CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
313 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
314 | CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
315 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
316 | CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
317 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
318 | CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
319 | //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
320 | CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
321 | //ADVANCED property for variable: CMAKE_SKIP_RPATH
322 | CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
323 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
324 | CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
325 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
326 | CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
327 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
328 | CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
329 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
330 | CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
331 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
332 | CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
333 | //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
334 | CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
335 |
336 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeCCompiler.cmake:
--------------------------------------------------------------------------------
1 | set(CMAKE_C_COMPILER "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/HostX64/x64/cl.exe")
2 | set(CMAKE_C_COMPILER_ARG1 "")
3 | set(CMAKE_C_COMPILER_ID "MSVC")
4 | set(CMAKE_C_COMPILER_VERSION "19.24.28314.0")
5 | set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
6 | set(CMAKE_C_COMPILER_WRAPPER "")
7 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90")
8 | set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_std_99;c_std_11;c_function_prototypes;c_variadic_macros")
9 | set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
10 | set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_variadic_macros")
11 | set(CMAKE_C11_COMPILE_FEATURES "c_std_11")
12 |
13 | set(CMAKE_C_PLATFORM_ID "Windows")
14 | set(CMAKE_C_SIMULATE_ID "")
15 | set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
16 | set(CMAKE_C_SIMULATE_VERSION "")
17 | set(CMAKE_C_COMPILER_ARCHITECTURE_ID x64)
18 | set(MSVC_C_ARCHITECTURE_ID x64)
19 |
20 | set(CMAKE_AR "")
21 | set(CMAKE_C_COMPILER_AR "")
22 | set(CMAKE_RANLIB "")
23 | set(CMAKE_C_COMPILER_RANLIB "")
24 | set(CMAKE_LINKER "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/link.exe")
25 | set(CMAKE_MT "C:/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/mt.exe")
26 | set(CMAKE_COMPILER_IS_GNUCC )
27 | set(CMAKE_C_COMPILER_LOADED 1)
28 | set(CMAKE_C_COMPILER_WORKS TRUE)
29 | set(CMAKE_C_ABI_COMPILED TRUE)
30 | set(CMAKE_COMPILER_IS_MINGW )
31 | set(CMAKE_COMPILER_IS_CYGWIN )
32 | if(CMAKE_COMPILER_IS_CYGWIN)
33 | set(CYGWIN 1)
34 | set(UNIX 1)
35 | endif()
36 |
37 | set(CMAKE_C_COMPILER_ENV_VAR "CC")
38 |
39 | if(CMAKE_COMPILER_IS_MINGW)
40 | set(MINGW 1)
41 | endif()
42 | set(CMAKE_C_COMPILER_ID_RUN 1)
43 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
44 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
45 | set(CMAKE_C_LINKER_PREFERENCE 10)
46 |
47 | # Save compiler ABI information.
48 | set(CMAKE_C_SIZEOF_DATA_PTR "8")
49 | set(CMAKE_C_COMPILER_ABI "")
50 | set(CMAKE_C_LIBRARY_ARCHITECTURE "")
51 |
52 | if(CMAKE_C_SIZEOF_DATA_PTR)
53 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
54 | endif()
55 |
56 | if(CMAKE_C_COMPILER_ABI)
57 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
58 | endif()
59 |
60 | if(CMAKE_C_LIBRARY_ARCHITECTURE)
61 | set(CMAKE_LIBRARY_ARCHITECTURE "")
62 | endif()
63 |
64 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "Note: including file: ")
65 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
66 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
67 | endif()
68 |
69 |
70 |
71 |
72 |
73 | set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "")
74 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
75 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
76 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
77 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeCXXCompiler.cmake:
--------------------------------------------------------------------------------
1 | set(CMAKE_CXX_COMPILER "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/HostX64/x64/cl.exe")
2 | set(CMAKE_CXX_COMPILER_ARG1 "")
3 | set(CMAKE_CXX_COMPILER_ID "MSVC")
4 | set(CMAKE_CXX_COMPILER_VERSION "19.24.28314.0")
5 | set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
6 | set(CMAKE_CXX_COMPILER_WRAPPER "")
7 | set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
8 | set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
9 | set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
10 | set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
11 | set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
12 | set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
13 | set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
14 |
15 | set(CMAKE_CXX_PLATFORM_ID "Windows")
16 | set(CMAKE_CXX_SIMULATE_ID "")
17 | set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
18 | set(CMAKE_CXX_SIMULATE_VERSION "")
19 | set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID x64)
20 | set(MSVC_CXX_ARCHITECTURE_ID x64)
21 |
22 | set(CMAKE_AR "")
23 | set(CMAKE_CXX_COMPILER_AR "")
24 | set(CMAKE_RANLIB "")
25 | set(CMAKE_CXX_COMPILER_RANLIB "")
26 | set(CMAKE_LINKER "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/link.exe")
27 | set(CMAKE_MT "C:/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/mt.exe")
28 | set(CMAKE_COMPILER_IS_GNUCXX )
29 | set(CMAKE_CXX_COMPILER_LOADED 1)
30 | set(CMAKE_CXX_COMPILER_WORKS TRUE)
31 | set(CMAKE_CXX_ABI_COMPILED TRUE)
32 | set(CMAKE_COMPILER_IS_MINGW )
33 | set(CMAKE_COMPILER_IS_CYGWIN )
34 | if(CMAKE_COMPILER_IS_CYGWIN)
35 | set(CYGWIN 1)
36 | set(UNIX 1)
37 | endif()
38 |
39 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
40 |
41 | if(CMAKE_COMPILER_IS_MINGW)
42 | set(MINGW 1)
43 | endif()
44 | set(CMAKE_CXX_COMPILER_ID_RUN 1)
45 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
46 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
47 | set(CMAKE_CXX_LINKER_PREFERENCE 30)
48 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
49 |
50 | # Save compiler ABI information.
51 | set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
52 | set(CMAKE_CXX_COMPILER_ABI "")
53 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
54 |
55 | if(CMAKE_CXX_SIZEOF_DATA_PTR)
56 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
57 | endif()
58 |
59 | if(CMAKE_CXX_COMPILER_ABI)
60 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
61 | endif()
62 |
63 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
64 | set(CMAKE_LIBRARY_ARCHITECTURE "")
65 | endif()
66 |
67 | set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "Note: including file: ")
68 | if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
69 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
70 | endif()
71 |
72 |
73 |
74 |
75 |
76 | set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "")
77 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
78 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
79 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
80 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeDetermineCompilerABI_C.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeDetermineCompilerABI_C.bin
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeDetermineCompilerABI_CXX.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeDetermineCompilerABI_CXX.bin
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeRCCompiler.cmake:
--------------------------------------------------------------------------------
1 | set(CMAKE_RC_COMPILER "C:/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/rc.exe")
2 | set(CMAKE_RC_COMPILER_ARG1 "")
3 | set(CMAKE_RC_COMPILER_LOADED 1)
4 | set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC)
5 | set(CMAKE_RC_OUTPUT_EXTENSION .res)
6 | set(CMAKE_RC_COMPILER_ENV_VAR "RC")
7 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CMakeSystem.cmake:
--------------------------------------------------------------------------------
1 | set(CMAKE_HOST_SYSTEM "Windows-10.0.18362")
2 | set(CMAKE_HOST_SYSTEM_NAME "Windows")
3 | set(CMAKE_HOST_SYSTEM_VERSION "10.0.18362")
4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
5 |
6 |
7 |
8 | set(CMAKE_SYSTEM "Windows-10.0.18362")
9 | set(CMAKE_SYSTEM_NAME "Windows")
10 | set(CMAKE_SYSTEM_VERSION "10.0.18362")
11 | set(CMAKE_SYSTEM_PROCESSOR "AMD64")
12 |
13 | set(CMAKE_CROSSCOMPILING "FALSE")
14 |
15 | set(CMAKE_SYSTEM_LOADED 1)
16 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdC/CMakeCCompilerId.c:
--------------------------------------------------------------------------------
1 | #ifdef __cplusplus
2 | # error "A C++ compiler has been selected for C."
3 | #endif
4 |
5 | #if defined(__18CXX)
6 | # define ID_VOID_MAIN
7 | #endif
8 | #if defined(__CLASSIC_C__)
9 | /* cv-qualifiers did not exist in K&R C */
10 | # define const
11 | # define volatile
12 | #endif
13 |
14 |
15 | /* Version number components: V=Version, R=Revision, P=Patch
16 | Version date components: YYYY=Year, MM=Month, DD=Day */
17 |
18 | #if defined(__INTEL_COMPILER) || defined(__ICC)
19 | # define COMPILER_ID "Intel"
20 | # if defined(_MSC_VER)
21 | # define SIMULATE_ID "MSVC"
22 | # endif
23 | # if defined(__GNUC__)
24 | # define SIMULATE_ID "GNU"
25 | # endif
26 | /* __INTEL_COMPILER = VRP */
27 | # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
28 | # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
29 | # if defined(__INTEL_COMPILER_UPDATE)
30 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
31 | # else
32 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
33 | # endif
34 | # if defined(__INTEL_COMPILER_BUILD_DATE)
35 | /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
36 | # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
37 | # endif
38 | # if defined(_MSC_VER)
39 | /* _MSC_VER = VVRR */
40 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
41 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
42 | # endif
43 | # if defined(__GNUC__)
44 | # define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
45 | # elif defined(__GNUG__)
46 | # define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
47 | # endif
48 | # if defined(__GNUC_MINOR__)
49 | # define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
50 | # endif
51 | # if defined(__GNUC_PATCHLEVEL__)
52 | # define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
53 | # endif
54 |
55 | #elif defined(__PATHCC__)
56 | # define COMPILER_ID "PathScale"
57 | # define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
58 | # define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
59 | # if defined(__PATHCC_PATCHLEVEL__)
60 | # define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
61 | # endif
62 |
63 | #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
64 | # define COMPILER_ID "Embarcadero"
65 | # define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
66 | # define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
67 | # define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
68 |
69 | #elif defined(__BORLANDC__)
70 | # define COMPILER_ID "Borland"
71 | /* __BORLANDC__ = 0xVRR */
72 | # define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
73 | # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
74 |
75 | #elif defined(__WATCOMC__) && __WATCOMC__ < 1200
76 | # define COMPILER_ID "Watcom"
77 | /* __WATCOMC__ = VVRR */
78 | # define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
79 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
80 | # if (__WATCOMC__ % 10) > 0
81 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
82 | # endif
83 |
84 | #elif defined(__WATCOMC__)
85 | # define COMPILER_ID "OpenWatcom"
86 | /* __WATCOMC__ = VVRP + 1100 */
87 | # define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
88 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
89 | # if (__WATCOMC__ % 10) > 0
90 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
91 | # endif
92 |
93 | #elif defined(__SUNPRO_C)
94 | # define COMPILER_ID "SunPro"
95 | # if __SUNPRO_C >= 0x5100
96 | /* __SUNPRO_C = 0xVRRP */
97 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
98 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
99 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
100 | # else
101 | /* __SUNPRO_CC = 0xVRP */
102 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
103 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
104 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
105 | # endif
106 |
107 | #elif defined(__HP_cc)
108 | # define COMPILER_ID "HP"
109 | /* __HP_cc = VVRRPP */
110 | # define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
111 | # define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
112 | # define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
113 |
114 | #elif defined(__DECC)
115 | # define COMPILER_ID "Compaq"
116 | /* __DECC_VER = VVRRTPPPP */
117 | # define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
118 | # define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
119 | # define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
120 |
121 | #elif defined(__IBMC__) && defined(__COMPILER_VER__)
122 | # define COMPILER_ID "zOS"
123 | /* __IBMC__ = VRP */
124 | # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
125 | # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
126 | # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
127 |
128 | #elif defined(__ibmxl__) && defined(__clang__)
129 | # define COMPILER_ID "XLClang"
130 | # define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
131 | # define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
132 | # define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
133 | # define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
134 |
135 |
136 | #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
137 | # define COMPILER_ID "XL"
138 | /* __IBMC__ = VRP */
139 | # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
140 | # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
141 | # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
142 |
143 | #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
144 | # define COMPILER_ID "VisualAge"
145 | /* __IBMC__ = VRP */
146 | # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
147 | # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
148 | # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
149 |
150 | #elif defined(__PGI)
151 | # define COMPILER_ID "PGI"
152 | # define COMPILER_VERSION_MAJOR DEC(__PGIC__)
153 | # define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
154 | # if defined(__PGIC_PATCHLEVEL__)
155 | # define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
156 | # endif
157 |
158 | #elif defined(_CRAYC)
159 | # define COMPILER_ID "Cray"
160 | # define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
161 | # define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
162 |
163 | #elif defined(__TI_COMPILER_VERSION__)
164 | # define COMPILER_ID "TI"
165 | /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
166 | # define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
167 | # define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
168 | # define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
169 |
170 | #elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
171 | # define COMPILER_ID "Fujitsu"
172 |
173 | #elif defined(__ghs__)
174 | # define COMPILER_ID "GHS"
175 | /* __GHS_VERSION_NUMBER = VVVVRP */
176 | # ifdef __GHS_VERSION_NUMBER
177 | # define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
178 | # define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
179 | # define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
180 | # endif
181 |
182 | #elif defined(__TINYC__)
183 | # define COMPILER_ID "TinyCC"
184 |
185 | #elif defined(__BCC__)
186 | # define COMPILER_ID "Bruce"
187 |
188 | #elif defined(__SCO_VERSION__)
189 | # define COMPILER_ID "SCO"
190 |
191 | #elif defined(__ARMCC_VERSION) && !defined(__clang__)
192 | # define COMPILER_ID "ARMCC"
193 | #if __ARMCC_VERSION >= 1000000
194 | /* __ARMCC_VERSION = VRRPPPP */
195 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
196 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
197 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
198 | #else
199 | /* __ARMCC_VERSION = VRPPPP */
200 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
201 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
202 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
203 | #endif
204 |
205 |
206 | #elif defined(__clang__) && defined(__apple_build_version__)
207 | # define COMPILER_ID "AppleClang"
208 | # if defined(_MSC_VER)
209 | # define SIMULATE_ID "MSVC"
210 | # endif
211 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
212 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
213 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
214 | # if defined(_MSC_VER)
215 | /* _MSC_VER = VVRR */
216 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
217 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
218 | # endif
219 | # define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
220 |
221 | #elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
222 | # define COMPILER_ID "ARMClang"
223 | # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
224 | # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
225 | # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
226 | # define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
227 |
228 | #elif defined(__clang__)
229 | # define COMPILER_ID "Clang"
230 | # if defined(_MSC_VER)
231 | # define SIMULATE_ID "MSVC"
232 | # endif
233 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
234 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
235 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
236 | # if defined(_MSC_VER)
237 | /* _MSC_VER = VVRR */
238 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
239 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
240 | # endif
241 |
242 | #elif defined(__GNUC__)
243 | # define COMPILER_ID "GNU"
244 | # define COMPILER_VERSION_MAJOR DEC(__GNUC__)
245 | # if defined(__GNUC_MINOR__)
246 | # define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
247 | # endif
248 | # if defined(__GNUC_PATCHLEVEL__)
249 | # define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
250 | # endif
251 |
252 | #elif defined(_MSC_VER)
253 | # define COMPILER_ID "MSVC"
254 | /* _MSC_VER = VVRR */
255 | # define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
256 | # define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
257 | # if defined(_MSC_FULL_VER)
258 | # if _MSC_VER >= 1400
259 | /* _MSC_FULL_VER = VVRRPPPPP */
260 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
261 | # else
262 | /* _MSC_FULL_VER = VVRRPPPP */
263 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
264 | # endif
265 | # endif
266 | # if defined(_MSC_BUILD)
267 | # define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
268 | # endif
269 |
270 | #elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
271 | # define COMPILER_ID "ADSP"
272 | #if defined(__VISUALDSPVERSION__)
273 | /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
274 | # define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
275 | # define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
276 | # define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
277 | #endif
278 |
279 | #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
280 | # define COMPILER_ID "IAR"
281 | # if defined(__VER__) && defined(__ICCARM__)
282 | # define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
283 | # define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
284 | # define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
285 | # define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
286 | # elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__))
287 | # define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
288 | # define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
289 | # define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
290 | # define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
291 | # endif
292 |
293 | #elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
294 | # define COMPILER_ID "SDCC"
295 | # if defined(__SDCC_VERSION_MAJOR)
296 | # define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
297 | # define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
298 | # define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
299 | # else
300 | /* SDCC = VRP */
301 | # define COMPILER_VERSION_MAJOR DEC(SDCC/100)
302 | # define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
303 | # define COMPILER_VERSION_PATCH DEC(SDCC % 10)
304 | # endif
305 |
306 |
307 | /* These compilers are either not known or too old to define an
308 | identification macro. Try to identify the platform and guess that
309 | it is the native compiler. */
310 | #elif defined(__hpux) || defined(__hpua)
311 | # define COMPILER_ID "HP"
312 |
313 | #else /* unknown compiler */
314 | # define COMPILER_ID ""
315 | #endif
316 |
317 | /* Construct the string literal in pieces to prevent the source from
318 | getting matched. Store it in a pointer rather than an array
319 | because some compilers will just produce instructions to fill the
320 | array rather than assigning a pointer to a static array. */
321 | char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
322 | #ifdef SIMULATE_ID
323 | char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
324 | #endif
325 |
326 | #ifdef __QNXNTO__
327 | char const* qnxnto = "INFO" ":" "qnxnto[]";
328 | #endif
329 |
330 | #if defined(__CRAYXE) || defined(__CRAYXC)
331 | char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
332 | #endif
333 |
334 | #define STRINGIFY_HELPER(X) #X
335 | #define STRINGIFY(X) STRINGIFY_HELPER(X)
336 |
337 | /* Identify known platforms by name. */
338 | #if defined(__linux) || defined(__linux__) || defined(linux)
339 | # define PLATFORM_ID "Linux"
340 |
341 | #elif defined(__CYGWIN__)
342 | # define PLATFORM_ID "Cygwin"
343 |
344 | #elif defined(__MINGW32__)
345 | # define PLATFORM_ID "MinGW"
346 |
347 | #elif defined(__APPLE__)
348 | # define PLATFORM_ID "Darwin"
349 |
350 | #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
351 | # define PLATFORM_ID "Windows"
352 |
353 | #elif defined(__FreeBSD__) || defined(__FreeBSD)
354 | # define PLATFORM_ID "FreeBSD"
355 |
356 | #elif defined(__NetBSD__) || defined(__NetBSD)
357 | # define PLATFORM_ID "NetBSD"
358 |
359 | #elif defined(__OpenBSD__) || defined(__OPENBSD)
360 | # define PLATFORM_ID "OpenBSD"
361 |
362 | #elif defined(__sun) || defined(sun)
363 | # define PLATFORM_ID "SunOS"
364 |
365 | #elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
366 | # define PLATFORM_ID "AIX"
367 |
368 | #elif defined(__hpux) || defined(__hpux__)
369 | # define PLATFORM_ID "HP-UX"
370 |
371 | #elif defined(__HAIKU__)
372 | # define PLATFORM_ID "Haiku"
373 |
374 | #elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
375 | # define PLATFORM_ID "BeOS"
376 |
377 | #elif defined(__QNX__) || defined(__QNXNTO__)
378 | # define PLATFORM_ID "QNX"
379 |
380 | #elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
381 | # define PLATFORM_ID "Tru64"
382 |
383 | #elif defined(__riscos) || defined(__riscos__)
384 | # define PLATFORM_ID "RISCos"
385 |
386 | #elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
387 | # define PLATFORM_ID "SINIX"
388 |
389 | #elif defined(__UNIX_SV__)
390 | # define PLATFORM_ID "UNIX_SV"
391 |
392 | #elif defined(__bsdos__)
393 | # define PLATFORM_ID "BSDOS"
394 |
395 | #elif defined(_MPRAS) || defined(MPRAS)
396 | # define PLATFORM_ID "MP-RAS"
397 |
398 | #elif defined(__osf) || defined(__osf__)
399 | # define PLATFORM_ID "OSF1"
400 |
401 | #elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
402 | # define PLATFORM_ID "SCO_SV"
403 |
404 | #elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
405 | # define PLATFORM_ID "ULTRIX"
406 |
407 | #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
408 | # define PLATFORM_ID "Xenix"
409 |
410 | #elif defined(__WATCOMC__)
411 | # if defined(__LINUX__)
412 | # define PLATFORM_ID "Linux"
413 |
414 | # elif defined(__DOS__)
415 | # define PLATFORM_ID "DOS"
416 |
417 | # elif defined(__OS2__)
418 | # define PLATFORM_ID "OS2"
419 |
420 | # elif defined(__WINDOWS__)
421 | # define PLATFORM_ID "Windows3x"
422 |
423 | # else /* unknown platform */
424 | # define PLATFORM_ID
425 | # endif
426 |
427 | #elif defined(__INTEGRITY)
428 | # if defined(INT_178B)
429 | # define PLATFORM_ID "Integrity178"
430 |
431 | # else /* regular Integrity */
432 | # define PLATFORM_ID "Integrity"
433 | # endif
434 |
435 | #else /* unknown platform */
436 | # define PLATFORM_ID
437 |
438 | #endif
439 |
440 | /* For windows compilers MSVC and Intel we can determine
441 | the architecture of the compiler being used. This is because
442 | the compilers do not have flags that can change the architecture,
443 | but rather depend on which compiler is being used
444 | */
445 | #if defined(_WIN32) && defined(_MSC_VER)
446 | # if defined(_M_IA64)
447 | # define ARCHITECTURE_ID "IA64"
448 |
449 | # elif defined(_M_X64) || defined(_M_AMD64)
450 | # define ARCHITECTURE_ID "x64"
451 |
452 | # elif defined(_M_IX86)
453 | # define ARCHITECTURE_ID "X86"
454 |
455 | # elif defined(_M_ARM64)
456 | # define ARCHITECTURE_ID "ARM64"
457 |
458 | # elif defined(_M_ARM)
459 | # if _M_ARM == 4
460 | # define ARCHITECTURE_ID "ARMV4I"
461 | # elif _M_ARM == 5
462 | # define ARCHITECTURE_ID "ARMV5I"
463 | # else
464 | # define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
465 | # endif
466 |
467 | # elif defined(_M_MIPS)
468 | # define ARCHITECTURE_ID "MIPS"
469 |
470 | # elif defined(_M_SH)
471 | # define ARCHITECTURE_ID "SHx"
472 |
473 | # else /* unknown architecture */
474 | # define ARCHITECTURE_ID ""
475 | # endif
476 |
477 | #elif defined(__WATCOMC__)
478 | # if defined(_M_I86)
479 | # define ARCHITECTURE_ID "I86"
480 |
481 | # elif defined(_M_IX86)
482 | # define ARCHITECTURE_ID "X86"
483 |
484 | # else /* unknown architecture */
485 | # define ARCHITECTURE_ID ""
486 | # endif
487 |
488 | #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
489 | # if defined(__ICCARM__)
490 | # define ARCHITECTURE_ID "ARM"
491 |
492 | # elif defined(__ICCRX__)
493 | # define ARCHITECTURE_ID "RX"
494 |
495 | # elif defined(__ICCRH850__)
496 | # define ARCHITECTURE_ID "RH850"
497 |
498 | # elif defined(__ICCRL78__)
499 | # define ARCHITECTURE_ID "RL78"
500 |
501 | # elif defined(__ICCRISCV__)
502 | # define ARCHITECTURE_ID "RISCV"
503 |
504 | # elif defined(__ICCAVR__)
505 | # define ARCHITECTURE_ID "AVR"
506 |
507 | # elif defined(__ICC430__)
508 | # define ARCHITECTURE_ID "MSP430"
509 |
510 | # else /* unknown architecture */
511 | # define ARCHITECTURE_ID ""
512 | # endif
513 |
514 | #elif defined(__ghs__)
515 | # if defined(__PPC64__)
516 | # define ARCHITECTURE_ID "PPC64"
517 |
518 | # elif defined(__ppc__)
519 | # define ARCHITECTURE_ID "PPC"
520 |
521 | # elif defined(__ARM__)
522 | # define ARCHITECTURE_ID "ARM"
523 |
524 | # elif defined(__x86_64__)
525 | # define ARCHITECTURE_ID "x64"
526 |
527 | # elif defined(__i386__)
528 | # define ARCHITECTURE_ID "X86"
529 |
530 | # else /* unknown architecture */
531 | # define ARCHITECTURE_ID ""
532 | # endif
533 | #else
534 | # define ARCHITECTURE_ID
535 | #endif
536 |
537 | /* Convert integer to decimal digit literals. */
538 | #define DEC(n) \
539 | ('0' + (((n) / 10000000)%10)), \
540 | ('0' + (((n) / 1000000)%10)), \
541 | ('0' + (((n) / 100000)%10)), \
542 | ('0' + (((n) / 10000)%10)), \
543 | ('0' + (((n) / 1000)%10)), \
544 | ('0' + (((n) / 100)%10)), \
545 | ('0' + (((n) / 10)%10)), \
546 | ('0' + ((n) % 10))
547 |
548 | /* Convert integer to hex digit literals. */
549 | #define HEX(n) \
550 | ('0' + ((n)>>28 & 0xF)), \
551 | ('0' + ((n)>>24 & 0xF)), \
552 | ('0' + ((n)>>20 & 0xF)), \
553 | ('0' + ((n)>>16 & 0xF)), \
554 | ('0' + ((n)>>12 & 0xF)), \
555 | ('0' + ((n)>>8 & 0xF)), \
556 | ('0' + ((n)>>4 & 0xF)), \
557 | ('0' + ((n) & 0xF))
558 |
559 | /* Construct a string literal encoding the version number components. */
560 | #ifdef COMPILER_VERSION_MAJOR
561 | char const info_version[] = {
562 | 'I', 'N', 'F', 'O', ':',
563 | 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
564 | COMPILER_VERSION_MAJOR,
565 | # ifdef COMPILER_VERSION_MINOR
566 | '.', COMPILER_VERSION_MINOR,
567 | # ifdef COMPILER_VERSION_PATCH
568 | '.', COMPILER_VERSION_PATCH,
569 | # ifdef COMPILER_VERSION_TWEAK
570 | '.', COMPILER_VERSION_TWEAK,
571 | # endif
572 | # endif
573 | # endif
574 | ']','\0'};
575 | #endif
576 |
577 | /* Construct a string literal encoding the internal version number. */
578 | #ifdef COMPILER_VERSION_INTERNAL
579 | char const info_version_internal[] = {
580 | 'I', 'N', 'F', 'O', ':',
581 | 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
582 | 'i','n','t','e','r','n','a','l','[',
583 | COMPILER_VERSION_INTERNAL,']','\0'};
584 | #endif
585 |
586 | /* Construct a string literal encoding the version number components. */
587 | #ifdef SIMULATE_VERSION_MAJOR
588 | char const info_simulate_version[] = {
589 | 'I', 'N', 'F', 'O', ':',
590 | 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
591 | SIMULATE_VERSION_MAJOR,
592 | # ifdef SIMULATE_VERSION_MINOR
593 | '.', SIMULATE_VERSION_MINOR,
594 | # ifdef SIMULATE_VERSION_PATCH
595 | '.', SIMULATE_VERSION_PATCH,
596 | # ifdef SIMULATE_VERSION_TWEAK
597 | '.', SIMULATE_VERSION_TWEAK,
598 | # endif
599 | # endif
600 | # endif
601 | ']','\0'};
602 | #endif
603 |
604 | /* Construct the string literal in pieces to prevent the source from
605 | getting matched. Store it in a pointer rather than an array
606 | because some compilers will just produce instructions to fill the
607 | array rather than assigning a pointer to a static array. */
608 | char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
609 | char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
610 |
611 |
612 |
613 |
614 | #if !defined(__STDC__)
615 | # if (defined(_MSC_VER) && !defined(__clang__)) \
616 | || (defined(__ibmxl__) || defined(__IBMC__))
617 | # define C_DIALECT "90"
618 | # else
619 | # define C_DIALECT
620 | # endif
621 | #elif __STDC_VERSION__ >= 201000L
622 | # define C_DIALECT "11"
623 | #elif __STDC_VERSION__ >= 199901L
624 | # define C_DIALECT "99"
625 | #else
626 | # define C_DIALECT "90"
627 | #endif
628 | const char* info_language_dialect_default =
629 | "INFO" ":" "dialect_default[" C_DIALECT "]";
630 |
631 | /*--------------------------------------------------------------------------*/
632 |
633 | #ifdef ID_VOID_MAIN
634 | void main() {}
635 | #else
636 | # if defined(__CLASSIC_C__)
637 | int main(argc, argv) int argc; char *argv[];
638 | # else
639 | int main(int argc, char* argv[])
640 | # endif
641 | {
642 | int require = 0;
643 | require += info_compiler[argc];
644 | require += info_platform[argc];
645 | require += info_arch[argc];
646 | #ifdef COMPILER_VERSION_MAJOR
647 | require += info_version[argc];
648 | #endif
649 | #ifdef COMPILER_VERSION_INTERNAL
650 | require += info_version_internal[argc];
651 | #endif
652 | #ifdef SIMULATE_ID
653 | require += info_simulate[argc];
654 | #endif
655 | #ifdef SIMULATE_VERSION_MAJOR
656 | require += info_simulate_version[argc];
657 | #endif
658 | #if defined(__CRAYXE) || defined(__CRAYXC)
659 | require += info_cray[argc];
660 | #endif
661 | require += info_language_dialect_default[argc];
662 | (void)argv;
663 | return require;
664 | }
665 | #endif
666 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdC/CMakeCCompilerId.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdC/CMakeCCompilerId.exe
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdC/CMakeCCompilerId.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdC/CMakeCCompilerId.obj
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.cpp:
--------------------------------------------------------------------------------
1 | /* This source file must have a .cpp extension so that all C++ compilers
2 | recognize the extension without flags. Borland does not know .cxx for
3 | example. */
4 | #ifndef __cplusplus
5 | # error "A C compiler has been selected for C++."
6 | #endif
7 |
8 |
9 | /* Version number components: V=Version, R=Revision, P=Patch
10 | Version date components: YYYY=Year, MM=Month, DD=Day */
11 |
12 | #if defined(__COMO__)
13 | # define COMPILER_ID "Comeau"
14 | /* __COMO_VERSION__ = VRR */
15 | # define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
16 | # define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
17 |
18 | #elif defined(__INTEL_COMPILER) || defined(__ICC)
19 | # define COMPILER_ID "Intel"
20 | # if defined(_MSC_VER)
21 | # define SIMULATE_ID "MSVC"
22 | # endif
23 | # if defined(__GNUC__)
24 | # define SIMULATE_ID "GNU"
25 | # endif
26 | /* __INTEL_COMPILER = VRP */
27 | # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
28 | # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
29 | # if defined(__INTEL_COMPILER_UPDATE)
30 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
31 | # else
32 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
33 | # endif
34 | # if defined(__INTEL_COMPILER_BUILD_DATE)
35 | /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
36 | # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
37 | # endif
38 | # if defined(_MSC_VER)
39 | /* _MSC_VER = VVRR */
40 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
41 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
42 | # endif
43 | # if defined(__GNUC__)
44 | # define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
45 | # elif defined(__GNUG__)
46 | # define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
47 | # endif
48 | # if defined(__GNUC_MINOR__)
49 | # define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
50 | # endif
51 | # if defined(__GNUC_PATCHLEVEL__)
52 | # define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
53 | # endif
54 |
55 | #elif defined(__PATHCC__)
56 | # define COMPILER_ID "PathScale"
57 | # define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
58 | # define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
59 | # if defined(__PATHCC_PATCHLEVEL__)
60 | # define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
61 | # endif
62 |
63 | #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
64 | # define COMPILER_ID "Embarcadero"
65 | # define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
66 | # define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
67 | # define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
68 |
69 | #elif defined(__BORLANDC__)
70 | # define COMPILER_ID "Borland"
71 | /* __BORLANDC__ = 0xVRR */
72 | # define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
73 | # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
74 |
75 | #elif defined(__WATCOMC__) && __WATCOMC__ < 1200
76 | # define COMPILER_ID "Watcom"
77 | /* __WATCOMC__ = VVRR */
78 | # define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
79 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
80 | # if (__WATCOMC__ % 10) > 0
81 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
82 | # endif
83 |
84 | #elif defined(__WATCOMC__)
85 | # define COMPILER_ID "OpenWatcom"
86 | /* __WATCOMC__ = VVRP + 1100 */
87 | # define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
88 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
89 | # if (__WATCOMC__ % 10) > 0
90 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
91 | # endif
92 |
93 | #elif defined(__SUNPRO_CC)
94 | # define COMPILER_ID "SunPro"
95 | # if __SUNPRO_CC >= 0x5100
96 | /* __SUNPRO_CC = 0xVRRP */
97 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
98 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
99 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
100 | # else
101 | /* __SUNPRO_CC = 0xVRP */
102 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
103 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
104 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
105 | # endif
106 |
107 | #elif defined(__HP_aCC)
108 | # define COMPILER_ID "HP"
109 | /* __HP_aCC = VVRRPP */
110 | # define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
111 | # define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
112 | # define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
113 |
114 | #elif defined(__DECCXX)
115 | # define COMPILER_ID "Compaq"
116 | /* __DECCXX_VER = VVRRTPPPP */
117 | # define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
118 | # define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
119 | # define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
120 |
121 | #elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
122 | # define COMPILER_ID "zOS"
123 | /* __IBMCPP__ = VRP */
124 | # define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
125 | # define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
126 | # define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
127 |
128 | #elif defined(__ibmxl__) && defined(__clang__)
129 | # define COMPILER_ID "XLClang"
130 | # define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
131 | # define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
132 | # define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
133 | # define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
134 |
135 |
136 | #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
137 | # define COMPILER_ID "XL"
138 | /* __IBMCPP__ = VRP */
139 | # define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
140 | # define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
141 | # define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
142 |
143 | #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
144 | # define COMPILER_ID "VisualAge"
145 | /* __IBMCPP__ = VRP */
146 | # define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
147 | # define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
148 | # define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
149 |
150 | #elif defined(__PGI)
151 | # define COMPILER_ID "PGI"
152 | # define COMPILER_VERSION_MAJOR DEC(__PGIC__)
153 | # define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
154 | # if defined(__PGIC_PATCHLEVEL__)
155 | # define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
156 | # endif
157 |
158 | #elif defined(_CRAYC)
159 | # define COMPILER_ID "Cray"
160 | # define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
161 | # define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
162 |
163 | #elif defined(__TI_COMPILER_VERSION__)
164 | # define COMPILER_ID "TI"
165 | /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
166 | # define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
167 | # define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
168 | # define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
169 |
170 | #elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
171 | # define COMPILER_ID "Fujitsu"
172 |
173 | #elif defined(__ghs__)
174 | # define COMPILER_ID "GHS"
175 | /* __GHS_VERSION_NUMBER = VVVVRP */
176 | # ifdef __GHS_VERSION_NUMBER
177 | # define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
178 | # define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
179 | # define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
180 | # endif
181 |
182 | #elif defined(__SCO_VERSION__)
183 | # define COMPILER_ID "SCO"
184 |
185 | #elif defined(__ARMCC_VERSION) && !defined(__clang__)
186 | # define COMPILER_ID "ARMCC"
187 | #if __ARMCC_VERSION >= 1000000
188 | /* __ARMCC_VERSION = VRRPPPP */
189 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
190 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
191 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
192 | #else
193 | /* __ARMCC_VERSION = VRPPPP */
194 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
195 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
196 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
197 | #endif
198 |
199 |
200 | #elif defined(__clang__) && defined(__apple_build_version__)
201 | # define COMPILER_ID "AppleClang"
202 | # if defined(_MSC_VER)
203 | # define SIMULATE_ID "MSVC"
204 | # endif
205 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
206 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
207 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
208 | # if defined(_MSC_VER)
209 | /* _MSC_VER = VVRR */
210 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
211 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
212 | # endif
213 | # define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
214 |
215 | #elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
216 | # define COMPILER_ID "ARMClang"
217 | # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
218 | # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
219 | # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
220 | # define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
221 |
222 | #elif defined(__clang__)
223 | # define COMPILER_ID "Clang"
224 | # if defined(_MSC_VER)
225 | # define SIMULATE_ID "MSVC"
226 | # endif
227 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
228 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
229 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
230 | # if defined(_MSC_VER)
231 | /* _MSC_VER = VVRR */
232 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
233 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
234 | # endif
235 |
236 | #elif defined(__GNUC__) || defined(__GNUG__)
237 | # define COMPILER_ID "GNU"
238 | # if defined(__GNUC__)
239 | # define COMPILER_VERSION_MAJOR DEC(__GNUC__)
240 | # else
241 | # define COMPILER_VERSION_MAJOR DEC(__GNUG__)
242 | # endif
243 | # if defined(__GNUC_MINOR__)
244 | # define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
245 | # endif
246 | # if defined(__GNUC_PATCHLEVEL__)
247 | # define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
248 | # endif
249 |
250 | #elif defined(_MSC_VER)
251 | # define COMPILER_ID "MSVC"
252 | /* _MSC_VER = VVRR */
253 | # define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
254 | # define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
255 | # if defined(_MSC_FULL_VER)
256 | # if _MSC_VER >= 1400
257 | /* _MSC_FULL_VER = VVRRPPPPP */
258 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
259 | # else
260 | /* _MSC_FULL_VER = VVRRPPPP */
261 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
262 | # endif
263 | # endif
264 | # if defined(_MSC_BUILD)
265 | # define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
266 | # endif
267 |
268 | #elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
269 | # define COMPILER_ID "ADSP"
270 | #if defined(__VISUALDSPVERSION__)
271 | /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
272 | # define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
273 | # define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
274 | # define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
275 | #endif
276 |
277 | #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
278 | # define COMPILER_ID "IAR"
279 | # if defined(__VER__) && defined(__ICCARM__)
280 | # define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
281 | # define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
282 | # define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
283 | # define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
284 | # elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__))
285 | # define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
286 | # define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
287 | # define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
288 | # define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
289 | # endif
290 |
291 |
292 | /* These compilers are either not known or too old to define an
293 | identification macro. Try to identify the platform and guess that
294 | it is the native compiler. */
295 | #elif defined(__hpux) || defined(__hpua)
296 | # define COMPILER_ID "HP"
297 |
298 | #else /* unknown compiler */
299 | # define COMPILER_ID ""
300 | #endif
301 |
302 | /* Construct the string literal in pieces to prevent the source from
303 | getting matched. Store it in a pointer rather than an array
304 | because some compilers will just produce instructions to fill the
305 | array rather than assigning a pointer to a static array. */
306 | char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
307 | #ifdef SIMULATE_ID
308 | char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
309 | #endif
310 |
311 | #ifdef __QNXNTO__
312 | char const* qnxnto = "INFO" ":" "qnxnto[]";
313 | #endif
314 |
315 | #if defined(__CRAYXE) || defined(__CRAYXC)
316 | char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
317 | #endif
318 |
319 | #define STRINGIFY_HELPER(X) #X
320 | #define STRINGIFY(X) STRINGIFY_HELPER(X)
321 |
322 | /* Identify known platforms by name. */
323 | #if defined(__linux) || defined(__linux__) || defined(linux)
324 | # define PLATFORM_ID "Linux"
325 |
326 | #elif defined(__CYGWIN__)
327 | # define PLATFORM_ID "Cygwin"
328 |
329 | #elif defined(__MINGW32__)
330 | # define PLATFORM_ID "MinGW"
331 |
332 | #elif defined(__APPLE__)
333 | # define PLATFORM_ID "Darwin"
334 |
335 | #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
336 | # define PLATFORM_ID "Windows"
337 |
338 | #elif defined(__FreeBSD__) || defined(__FreeBSD)
339 | # define PLATFORM_ID "FreeBSD"
340 |
341 | #elif defined(__NetBSD__) || defined(__NetBSD)
342 | # define PLATFORM_ID "NetBSD"
343 |
344 | #elif defined(__OpenBSD__) || defined(__OPENBSD)
345 | # define PLATFORM_ID "OpenBSD"
346 |
347 | #elif defined(__sun) || defined(sun)
348 | # define PLATFORM_ID "SunOS"
349 |
350 | #elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
351 | # define PLATFORM_ID "AIX"
352 |
353 | #elif defined(__hpux) || defined(__hpux__)
354 | # define PLATFORM_ID "HP-UX"
355 |
356 | #elif defined(__HAIKU__)
357 | # define PLATFORM_ID "Haiku"
358 |
359 | #elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
360 | # define PLATFORM_ID "BeOS"
361 |
362 | #elif defined(__QNX__) || defined(__QNXNTO__)
363 | # define PLATFORM_ID "QNX"
364 |
365 | #elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
366 | # define PLATFORM_ID "Tru64"
367 |
368 | #elif defined(__riscos) || defined(__riscos__)
369 | # define PLATFORM_ID "RISCos"
370 |
371 | #elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
372 | # define PLATFORM_ID "SINIX"
373 |
374 | #elif defined(__UNIX_SV__)
375 | # define PLATFORM_ID "UNIX_SV"
376 |
377 | #elif defined(__bsdos__)
378 | # define PLATFORM_ID "BSDOS"
379 |
380 | #elif defined(_MPRAS) || defined(MPRAS)
381 | # define PLATFORM_ID "MP-RAS"
382 |
383 | #elif defined(__osf) || defined(__osf__)
384 | # define PLATFORM_ID "OSF1"
385 |
386 | #elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
387 | # define PLATFORM_ID "SCO_SV"
388 |
389 | #elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
390 | # define PLATFORM_ID "ULTRIX"
391 |
392 | #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
393 | # define PLATFORM_ID "Xenix"
394 |
395 | #elif defined(__WATCOMC__)
396 | # if defined(__LINUX__)
397 | # define PLATFORM_ID "Linux"
398 |
399 | # elif defined(__DOS__)
400 | # define PLATFORM_ID "DOS"
401 |
402 | # elif defined(__OS2__)
403 | # define PLATFORM_ID "OS2"
404 |
405 | # elif defined(__WINDOWS__)
406 | # define PLATFORM_ID "Windows3x"
407 |
408 | # else /* unknown platform */
409 | # define PLATFORM_ID
410 | # endif
411 |
412 | #elif defined(__INTEGRITY)
413 | # if defined(INT_178B)
414 | # define PLATFORM_ID "Integrity178"
415 |
416 | # else /* regular Integrity */
417 | # define PLATFORM_ID "Integrity"
418 | # endif
419 |
420 | #else /* unknown platform */
421 | # define PLATFORM_ID
422 |
423 | #endif
424 |
425 | /* For windows compilers MSVC and Intel we can determine
426 | the architecture of the compiler being used. This is because
427 | the compilers do not have flags that can change the architecture,
428 | but rather depend on which compiler is being used
429 | */
430 | #if defined(_WIN32) && defined(_MSC_VER)
431 | # if defined(_M_IA64)
432 | # define ARCHITECTURE_ID "IA64"
433 |
434 | # elif defined(_M_X64) || defined(_M_AMD64)
435 | # define ARCHITECTURE_ID "x64"
436 |
437 | # elif defined(_M_IX86)
438 | # define ARCHITECTURE_ID "X86"
439 |
440 | # elif defined(_M_ARM64)
441 | # define ARCHITECTURE_ID "ARM64"
442 |
443 | # elif defined(_M_ARM)
444 | # if _M_ARM == 4
445 | # define ARCHITECTURE_ID "ARMV4I"
446 | # elif _M_ARM == 5
447 | # define ARCHITECTURE_ID "ARMV5I"
448 | # else
449 | # define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
450 | # endif
451 |
452 | # elif defined(_M_MIPS)
453 | # define ARCHITECTURE_ID "MIPS"
454 |
455 | # elif defined(_M_SH)
456 | # define ARCHITECTURE_ID "SHx"
457 |
458 | # else /* unknown architecture */
459 | # define ARCHITECTURE_ID ""
460 | # endif
461 |
462 | #elif defined(__WATCOMC__)
463 | # if defined(_M_I86)
464 | # define ARCHITECTURE_ID "I86"
465 |
466 | # elif defined(_M_IX86)
467 | # define ARCHITECTURE_ID "X86"
468 |
469 | # else /* unknown architecture */
470 | # define ARCHITECTURE_ID ""
471 | # endif
472 |
473 | #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
474 | # if defined(__ICCARM__)
475 | # define ARCHITECTURE_ID "ARM"
476 |
477 | # elif defined(__ICCRX__)
478 | # define ARCHITECTURE_ID "RX"
479 |
480 | # elif defined(__ICCRH850__)
481 | # define ARCHITECTURE_ID "RH850"
482 |
483 | # elif defined(__ICCRL78__)
484 | # define ARCHITECTURE_ID "RL78"
485 |
486 | # elif defined(__ICCRISCV__)
487 | # define ARCHITECTURE_ID "RISCV"
488 |
489 | # elif defined(__ICCAVR__)
490 | # define ARCHITECTURE_ID "AVR"
491 |
492 | # elif defined(__ICC430__)
493 | # define ARCHITECTURE_ID "MSP430"
494 |
495 | # else /* unknown architecture */
496 | # define ARCHITECTURE_ID ""
497 | # endif
498 |
499 | #elif defined(__ghs__)
500 | # if defined(__PPC64__)
501 | # define ARCHITECTURE_ID "PPC64"
502 |
503 | # elif defined(__ppc__)
504 | # define ARCHITECTURE_ID "PPC"
505 |
506 | # elif defined(__ARM__)
507 | # define ARCHITECTURE_ID "ARM"
508 |
509 | # elif defined(__x86_64__)
510 | # define ARCHITECTURE_ID "x64"
511 |
512 | # elif defined(__i386__)
513 | # define ARCHITECTURE_ID "X86"
514 |
515 | # else /* unknown architecture */
516 | # define ARCHITECTURE_ID ""
517 | # endif
518 | #else
519 | # define ARCHITECTURE_ID
520 | #endif
521 |
522 | /* Convert integer to decimal digit literals. */
523 | #define DEC(n) \
524 | ('0' + (((n) / 10000000)%10)), \
525 | ('0' + (((n) / 1000000)%10)), \
526 | ('0' + (((n) / 100000)%10)), \
527 | ('0' + (((n) / 10000)%10)), \
528 | ('0' + (((n) / 1000)%10)), \
529 | ('0' + (((n) / 100)%10)), \
530 | ('0' + (((n) / 10)%10)), \
531 | ('0' + ((n) % 10))
532 |
533 | /* Convert integer to hex digit literals. */
534 | #define HEX(n) \
535 | ('0' + ((n)>>28 & 0xF)), \
536 | ('0' + ((n)>>24 & 0xF)), \
537 | ('0' + ((n)>>20 & 0xF)), \
538 | ('0' + ((n)>>16 & 0xF)), \
539 | ('0' + ((n)>>12 & 0xF)), \
540 | ('0' + ((n)>>8 & 0xF)), \
541 | ('0' + ((n)>>4 & 0xF)), \
542 | ('0' + ((n) & 0xF))
543 |
544 | /* Construct a string literal encoding the version number components. */
545 | #ifdef COMPILER_VERSION_MAJOR
546 | char const info_version[] = {
547 | 'I', 'N', 'F', 'O', ':',
548 | 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
549 | COMPILER_VERSION_MAJOR,
550 | # ifdef COMPILER_VERSION_MINOR
551 | '.', COMPILER_VERSION_MINOR,
552 | # ifdef COMPILER_VERSION_PATCH
553 | '.', COMPILER_VERSION_PATCH,
554 | # ifdef COMPILER_VERSION_TWEAK
555 | '.', COMPILER_VERSION_TWEAK,
556 | # endif
557 | # endif
558 | # endif
559 | ']','\0'};
560 | #endif
561 |
562 | /* Construct a string literal encoding the internal version number. */
563 | #ifdef COMPILER_VERSION_INTERNAL
564 | char const info_version_internal[] = {
565 | 'I', 'N', 'F', 'O', ':',
566 | 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
567 | 'i','n','t','e','r','n','a','l','[',
568 | COMPILER_VERSION_INTERNAL,']','\0'};
569 | #endif
570 |
571 | /* Construct a string literal encoding the version number components. */
572 | #ifdef SIMULATE_VERSION_MAJOR
573 | char const info_simulate_version[] = {
574 | 'I', 'N', 'F', 'O', ':',
575 | 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
576 | SIMULATE_VERSION_MAJOR,
577 | # ifdef SIMULATE_VERSION_MINOR
578 | '.', SIMULATE_VERSION_MINOR,
579 | # ifdef SIMULATE_VERSION_PATCH
580 | '.', SIMULATE_VERSION_PATCH,
581 | # ifdef SIMULATE_VERSION_TWEAK
582 | '.', SIMULATE_VERSION_TWEAK,
583 | # endif
584 | # endif
585 | # endif
586 | ']','\0'};
587 | #endif
588 |
589 | /* Construct the string literal in pieces to prevent the source from
590 | getting matched. Store it in a pointer rather than an array
591 | because some compilers will just produce instructions to fill the
592 | array rather than assigning a pointer to a static array. */
593 | char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
594 | char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
595 |
596 |
597 |
598 |
599 | #if defined(_MSC_VER) && defined(_MSVC_LANG)
600 | #define CXX_STD _MSVC_LANG
601 | #else
602 | #define CXX_STD __cplusplus
603 | #endif
604 |
605 | const char* info_language_dialect_default = "INFO" ":" "dialect_default["
606 | #if CXX_STD > 201703L
607 | "20"
608 | #elif CXX_STD >= 201703L
609 | "17"
610 | #elif CXX_STD >= 201402L
611 | "14"
612 | #elif CXX_STD >= 201103L
613 | "11"
614 | #else
615 | "98"
616 | #endif
617 | "]";
618 |
619 | /*--------------------------------------------------------------------------*/
620 |
621 | int main(int argc, char* argv[])
622 | {
623 | int require = 0;
624 | require += info_compiler[argc];
625 | require += info_platform[argc];
626 | #ifdef COMPILER_VERSION_MAJOR
627 | require += info_version[argc];
628 | #endif
629 | #ifdef COMPILER_VERSION_INTERNAL
630 | require += info_version_internal[argc];
631 | #endif
632 | #ifdef SIMULATE_ID
633 | require += info_simulate[argc];
634 | #endif
635 | #ifdef SIMULATE_VERSION_MAJOR
636 | require += info_simulate_version[argc];
637 | #endif
638 | #if defined(__CRAYXE) || defined(__CRAYXC)
639 | require += info_cray[argc];
640 | #endif
641 | require += info_language_dialect_default[argc];
642 | (void)argv;
643 | return require;
644 | }
645 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.exe
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.obj
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/CMakeOutput.log:
--------------------------------------------------------------------------------
1 | The system is: Windows - 10.0.18362 - AMD64
2 | Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
3 | Compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/HostX64/x64/cl.exe
4 | Build flags:
5 | Id flags:
6 |
7 | The output was:
8 | 0
9 | Microsoft (R) C/C++ Optimizing Compiler Version 19.24.28314 for x64
10 | Copyright (C) Microsoft Corporation. All rights reserved.
11 |
12 | CMakeCCompilerId.c
13 | Microsoft (R) Incremental Linker Version 14.24.28314.0
14 | Copyright (C) Microsoft Corporation. All rights reserved.
15 |
16 | /out:CMakeCCompilerId.exe
17 | CMakeCCompilerId.obj
18 |
19 |
20 | Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.exe"
21 |
22 | Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.obj"
23 |
24 | The C compiler identification is MSVC, found in "C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdC/CMakeCCompilerId.exe"
25 |
26 | Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
27 | Compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/HostX64/x64/cl.exe
28 | Build flags:
29 | Id flags:
30 |
31 | The output was:
32 | 0
33 | Microsoft (R) C/C++ Optimizing Compiler Version 19.24.28314 for x64
34 | Copyright (C) Microsoft Corporation. All rights reserved.
35 |
36 | CMakeCXXCompilerId.cpp
37 | Microsoft (R) Incremental Linker Version 14.24.28314.0
38 | Copyright (C) Microsoft Corporation. All rights reserved.
39 |
40 | /out:CMakeCXXCompilerId.exe
41 | CMakeCXXCompilerId.obj
42 |
43 |
44 | Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.exe"
45 |
46 | Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.obj"
47 |
48 | The CXX compiler identification is MSVC, found in "C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug/CMakeFiles/3.15.19101501-MSVC_2/CompilerIdCXX/CMakeCXXCompilerId.exe"
49 |
50 | Determining if the C compiler works passed with the following output:
51 | Change Dir: C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug/CMakeFiles/CMakeTmp
52 |
53 | Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_41f9d && [1/2] Building C object CMakeFiles\cmTC_41f9d.dir\testCCompiler.c.obj
54 | [2/2] Linking C executable cmTC_41f9d.exe
55 |
56 |
57 |
58 | Detecting C compiler ABI info compiled with the following output:
59 | Change Dir: C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug/CMakeFiles/CMakeTmp
60 |
61 | Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_79822 && [1/2] Building C object CMakeFiles\cmTC_79822.dir\CMakeCCompilerABI.c.obj
62 | [2/2] Linking C executable cmTC_79822.exe
63 |
64 |
65 |
66 | Determining if the CXX compiler works passed with the following output:
67 | Change Dir: C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug/CMakeFiles/CMakeTmp
68 |
69 | Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_a9800 && [1/2] Building CXX object CMakeFiles\cmTC_a9800.dir\testCXXCompiler.cxx.obj
70 | [2/2] Linking CXX executable cmTC_a9800.exe
71 |
72 |
73 |
74 | Detecting CXX compiler ABI info compiled with the following output:
75 | Change Dir: C:/Manank/all/sensor-fusion/SFND_2D_Feature_Tracking/out/build/x64-Debug/CMakeFiles/CMakeTmp
76 |
77 | Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_2a930 && [1/2] Building CXX object CMakeFiles\cmTC_2a930.dir\CMakeCXXCompilerABI.cpp.obj
78 | [2/2] Linking CXX executable cmTC_2a930.exe
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/ShowIncludes/foo.h:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/ShowIncludes/main.c:
--------------------------------------------------------------------------------
1 | #include "foo.h"
2 | int main(){}
3 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/ShowIncludes/main.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/out/build/x64-Debug/CMakeFiles/ShowIncludes/main.obj
--------------------------------------------------------------------------------
/out/build/x64-Debug/CMakeFiles/cmake.check_cache:
--------------------------------------------------------------------------------
1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file
2 |
--------------------------------------------------------------------------------
/out/build/x64-Debug/VSInheritEnvironments.txt:
--------------------------------------------------------------------------------
1 | msvc_x64_x64
--------------------------------------------------------------------------------
/results/output-matches.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/results/output-matches.gif
--------------------------------------------------------------------------------
/results/outputX-matches.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manankshastri/2D-Feature-Tracking/7e7956844a6000411fdd3f3d2341c2e4559f0316/results/outputX-matches.gif
--------------------------------------------------------------------------------
/src/MidTermProject_Camera_Student.cpp:
--------------------------------------------------------------------------------
1 | /* INCLUDES FOR THIS PROJECT */
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include
15 |
16 | #include "dataStructures.h"
17 | #include "matching2D.hpp"
18 |
19 | using namespace std;
20 |
21 | /* MAIN PROGRAM */
22 | int main(int argc, const char *argv[]) {
23 |
24 | /* INIT VARIABLES AND DATA STRUCTURES */
25 |
26 | // data location
27 | string dataPath = "../";
28 |
29 | // camera
30 | string imgBasePath = dataPath + "images/";
31 | string imgPrefix = "KITTI/2011_09_26/image_00/data/000000"; // left camera, color
32 | string imgFileType = ".png";
33 | int imgStartIndex = 0; // first file index to load (assumes Lidar and camera names have identical naming convention)
34 | int imgEndIndex = 9; // last file index to load
35 | int imgFillWidth = 4; // no. of digits which make up the file index (e.g. img-0001.png)
36 |
37 | // misc
38 | int dataBufferSize = 2; // no. of images which are held in memory (ring buffer) at the same time
39 | vector dataBuffer; // list of data frames which are held in memory at the same time
40 | bool bVis = false; // visualize results
41 |
42 | int matchedKeypoints = 0;
43 |
44 | // logging results
45 | // ofstream result1;
46 |
47 | // result1.open("../result1.csv", fstream::out | fstream::app);
48 | // result1<<"imgIndex"<<","<<"detectorType"<<","<<"descriptorType"<<","<<""<<"matchedKeypoints"<<","<<"totalTime"<<","< replace the following code with ring buffer of size dataBufferSize
66 |
67 | // push image into data frame buffer
68 | DataFrame frame;
69 | frame.cameraImg = imgGray;
70 |
71 | if (dataBuffer.size() < dataBufferSize) {
72 | dataBuffer.push_back(frame); // if the size is within the dataBufferSize; push a new image
73 | cout<<"Pushed a new image.."< keypoints; // create empty feature list for current image
88 | string detectorType = "FAST";
89 |
90 | double detectorTime;
91 | int detectorKeypoints;
92 |
93 | //// STUDENT ASSIGNMENT
94 | //// TASK MP.2 -> add the following keypoint detectors in file matching2D.cpp and enable string-based selection based on detectorType
95 | //// -> HARRIS, FAST, BRISK, ORB, AKAZE, SIFT
96 |
97 | if (detectorType.compare("SHITOMASI") == 0) {
98 | detKeypointsShiTomasi(keypoints, imgGray, detectorTime, detectorKeypoints, true);
99 | }
100 | else if (detectorType.compare("HARRIS") == 0) {
101 | detKeypointsHarris(keypoints, imgGray, detectorTime, detectorKeypoints, true);
102 | }
103 | else if (detectorType.compare("FAST") == 0 || detectorType.compare("BRISK") == 0 || detectorType.compare("ORB") == 0 ||
104 | detectorType.compare("AKAZE") == 0 || detectorType.compare("SIFT") == 0) {
105 | detKeypointsModern(keypoints, imgGray, detectorType, detectorTime, detectorKeypoints, true);
106 | }
107 | else {
108 | throw invalid_argument(detectorType + " is not a valid type!!");
109 | }
110 | //// EOF STUDENT ASSIGNMENT
111 |
112 | //// STUDENT ASSIGNMENT
113 | //// TASK MP.3 -> only keep keypoints on the preceding vehicle
114 |
115 | // only keep keypoints on the preceding vehicle
116 | bool bFocusOnVehicle = true;
117 | cv::Rect vehicleRect(535, 180, 180, 150);
118 |
119 | if (bFocusOnVehicle) {
120 | vector filteredKeypoints; // to filter the keypoints based on the preceding vehicle
121 |
122 | for (auto it : keypoints) {
123 | if (vehicleRect.contains(it.pt)) {
124 | filteredKeypoints.push_back(it);
125 | }
126 | }
127 | keypoints = filteredKeypoints;
128 | cout<<"Filtered Keypoints: "<keypoints = keypoints;
148 | cout << "#2 : DETECT KEYPOINTS done" << endl;
149 |
150 | /* EXTRACT KEYPOINT DESCRIPTORS */
151 |
152 | //// STUDENT ASSIGNMENT
153 | //// TASK MP.4 -> add the following descriptors in file matching2D.cpp and enable string-based selection based on descriptorType
154 | //// -> BRIEF, ORB, FREAK, AKAZE, SIFT
155 |
156 | cv::Mat descriptors;
157 | double descriptorTime;
158 | string descriptorType = "BRIEF"; // BRIEF, ORB, FREAK, AKAZE, SIFT
159 | descKeypoints((dataBuffer.end() - 1)->keypoints, (dataBuffer.end() - 1)->cameraImg, descriptors, descriptorType, descriptorTime);
160 | //// EOF STUDENT ASSIGNMENT
161 |
162 | // push descriptors for current frame to end of data buffer
163 | (dataBuffer.end() - 1)->descriptors = descriptors;
164 |
165 | cout << "#3 : EXTRACT DESCRIPTORS done" << endl;
166 |
167 | // wait until at least two images have been processed
168 | if (dataBuffer.size() > 1) {
169 |
170 | /* MATCH KEYPOINT DESCRIPTORS */
171 |
172 | vector matches;
173 | string matcherType = "MAT_BF"; // MAT_BF, MAT_FLANN
174 | string descriptorType = "DES_BINARY"; // DES_BINARY, DES_HOG
175 | string selectorType = "SEL_KNN"; // SEL_NN, SEL_KNN
176 |
177 | //// STUDENT ASSIGNMENT
178 | //// TASK MP.5 -> add FLANN matching in file matching2D.cpp
179 | //// TASK MP.6 -> add KNN match selection and perform descriptor distance ratio filtering with t=0.8 in file matching2D.cpp
180 |
181 | matchDescriptors((dataBuffer.end() - 2)->keypoints, (dataBuffer.end() - 1)->keypoints,
182 | (dataBuffer.end() - 2)->descriptors, (dataBuffer.end() - 1)->descriptors,
183 | matches, descriptorType, matcherType, selectorType);
184 |
185 | //// EOF STUDENT ASSIGNMENT
186 |
187 | // store matches in current data frame
188 | (dataBuffer.end() - 1)->kptMatches = matches;
189 | matchedKeypoints += matches.size();
190 |
191 | cout << "#4 : MATCH KEYPOINT DESCRIPTORS done" << endl;
192 |
193 | // visualize matches between current and previous image
194 | bVis = true;
195 | if (bVis) {
196 | cv::Mat matchImg = ((dataBuffer.end() - 1)->cameraImg).clone();
197 | cv::drawMatches((dataBuffer.end() - 2)->cameraImg, (dataBuffer.end() - 2)->keypoints,
198 | (dataBuffer.end() - 1)->cameraImg, (dataBuffer.end() - 1)->keypoints,
199 | matches, matchImg,
200 | cv::Scalar::all(-1), cv::Scalar::all(-1),
201 | vector(), cv::DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
202 |
203 | string windowName = "Matching keypoints between two camera images";
204 | cv::namedWindow(windowName, 7);
205 | cv::imshow(windowName, matchImg);
206 | cout << "Press key to continue to next image" << endl;
207 | cv::waitKey(0); // wait for key to be pressed
208 | }
209 | bVis = false;
210 |
211 | }
212 | cout<<"\n---------------------\n";
213 | // result1<
5 | #include
6 |
7 |
8 | struct DataFrame { // represents the available sensor information at the same time instance
9 |
10 | cv::Mat cameraImg; // camera image
11 |
12 | std::vector keypoints; // 2D keypoints within camera image
13 | cv::Mat descriptors; // keypoint descriptors
14 | std::vector kptMatches; // keypoint matches between previous and current frame
15 | };
16 |
17 |
18 | #endif /* dataStructures_h */
19 |
--------------------------------------------------------------------------------
/src/matching2D.hpp:
--------------------------------------------------------------------------------
1 | #ifndef matching2D_hpp
2 | #define matching2D_hpp
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 |
12 | #include
13 | #include
14 | #include
15 | #include
16 | #include
17 | #include
18 |
19 | #include "dataStructures.h"
20 |
21 |
22 | void detKeypointsHarris(std::vector &keypoints, cv::Mat &img, double &detectorTime, int &detectorKeypoints, bool bVis=false);
23 | void detKeypointsShiTomasi(std::vector &keypoints, cv::Mat &img, double &detectorTime, int &detectorKeypoints, bool bVis=false);
24 | void detKeypointsModern(std::vector &keypoints, cv::Mat &img, std::string detectorType, double &detectorTime, int &detectorKeypoints, bool bVis=false);
25 | void descKeypoints(std::vector &keypoints, cv::Mat &img, cv::Mat &descriptors, std::string descriptorType, double &descriptorTime);
26 | void matchDescriptors(std::vector &kPtsSource, std::vector &kPtsRef, cv::Mat &descSource, cv::Mat &descRef,
27 | std::vector &matches, std::string descriptorType, std::string matcherType, std::string selectorType);
28 |
29 | #endif /* matching2D_hpp */
30 |
--------------------------------------------------------------------------------
/src/matching2D_Student.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "matching2D.hpp"
3 |
4 | using namespace std;
5 |
6 | // Find best matches for keypoints in two camera images based on several matching methods
7 | void matchDescriptors(std::vector &kPtsSource, std::vector &kPtsRef, cv::Mat &descSource, cv::Mat &descRef,
8 | std::vector &matches, std::string descriptorType, std::string matcherType, std::string selectorType) {
9 | // configure matcher
10 | bool crossCheck = false;
11 | cv::Ptr matcher;
12 |
13 | if (matcherType.compare("MAT_BF") == 0) {
14 | int normType = descriptorType.compare("DES_BINARY") == 0 ? cv::NORM_HAMMING : cv::NORM_L2;
15 | matcher = cv::BFMatcher::create(normType, crossCheck);
16 | }
17 | else if (matcherType.compare("MAT_FLANN") == 0) {
18 | if (descSource.type() != CV_32F) {
19 | // OpenCV bug workaround : convert binary descriptors to floating point due to a bug in current OpenCV implementation
20 | descSource.convertTo(descSource, CV_32F);
21 | descRef.convertTo(descRef, CV_32F);
22 | }
23 | // FLANN matching
24 | matcher = cv::DescriptorMatcher::create(cv::DescriptorMatcher::FLANNBASED);
25 | cout<<"FLANN matching"<match(descSource, descRef, matches); // Finds the best match for each descriptor in desc1
32 | }
33 | else if (selectorType.compare("SEL_KNN") == 0) {
34 | // k nearest neighbors (k=2)
35 | vector> knn_matches;
36 | matcher->knnMatch(descSource, descRef, knn_matches, 2); // finds the 2 best matches
37 |
38 | // filter matches using descriptor distance ratio test
39 | double minDescDistRatio = 0.8;
40 | for (auto it = knn_matches.begin(); it != knn_matches.end(); ++it) {
41 |
42 | if ((*it)[0].distance < minDescDistRatio * (*it)[1].distance) {
43 | matches.push_back((*it)[0]);
44 | }
45 | }
46 | cout << "# keypoints removed = " << knn_matches.size() - matches.size() << endl;
47 | }
48 | }
49 |
50 | // Use one of several types of state-of-art descriptors to uniquely identify keypoints
51 | void descKeypoints(vector &keypoints, cv::Mat &img, cv::Mat &descriptors, string descriptorType, double &descriptorTime) {
52 | // select appropriate descriptor
53 | cv::Ptr extractor;
54 | if (descriptorType.compare("BRISK") == 0){
55 | int threshold = 30; // FAST/AGAST detection threshold score.
56 | int octaves = 3; // detection octaves (use 0 to do single scale)
57 | float patternScale = 1.0f; // apply this scale to the pattern used for sampling the neighbourhood of a keypoint.
58 |
59 | extractor = cv::BRISK::create(threshold, octaves, patternScale);
60 | }
61 | else if (descriptorType.compare("BRIEF") == 0) {
62 | extractor = cv::xfeatures2d::BriefDescriptorExtractor::create();
63 | }
64 | else if (descriptorType.compare("ORB") == 0) {
65 | extractor = cv::ORB::create();
66 | }
67 | else if (descriptorType.compare("FREAK") == 0) {
68 | extractor = cv::xfeatures2d::FREAK::create();
69 | }
70 | else if (descriptorType.compare("AKAZE") == 0) {
71 | extractor = cv::AKAZE::create();
72 | }
73 | else if (descriptorType.compare("SIFT") == 0) {
74 | extractor = cv::xfeatures2d::SiftDescriptorExtractor::create();
75 | }
76 | else {
77 | throw invalid_argument(descriptorType + "is not a valid type!!");
78 | }
79 |
80 | // perform feature description
81 | descriptorTime = (double)cv::getTickCount();
82 | extractor->compute(img, keypoints, descriptors);
83 | descriptorTime = ((double)cv::getTickCount() - descriptorTime) / cv::getTickFrequency();
84 | descriptorTime = 1000 * descriptorTime / 1.0;
85 | cout << descriptorType << " descriptor extraction in " << descriptorTime << " ms" << endl;
86 | }
87 |
88 | // Detect keypoints in image using the traditional Shi-Thomasi detector
89 | void detKeypointsShiTomasi(vector &keypoints, cv::Mat &img, double &detectorTime, int &detectorKeypoints, bool bVis) {
90 | // compute detector parameters based on image size
91 | int blockSize = 4; // size of an average block for computing a derivative covariation matrix over each pixel neighborhood
92 | double maxOverlap = 0.0; // max. permissible overlap between two features in %
93 | double minDistance = (1.0 - maxOverlap) * blockSize;
94 | int maxCorners = img.rows * img.cols / max(1.0, minDistance); // max. num. of keypoints
95 |
96 | double qualityLevel = 0.01; // minimal accepted quality of image corners
97 | double k = 0.04;
98 |
99 | // Apply corner detection
100 | detectorTime = (double)cv::getTickCount();
101 | vector corners;
102 | cv::goodFeaturesToTrack(img, corners, maxCorners, qualityLevel, minDistance, cv::Mat(), blockSize, false, k);
103 |
104 | // add corners to result vector
105 | for (auto it = corners.begin(); it != corners.end(); ++it) {
106 |
107 | cv::KeyPoint newKeyPoint;
108 | newKeyPoint.pt = cv::Point2f((*it).x, (*it).y);
109 | newKeyPoint.size = blockSize;
110 | keypoints.push_back(newKeyPoint);
111 | }
112 |
113 | detectorTime = ((double)cv::getTickCount() - detectorTime) / cv::getTickFrequency();
114 | detectorTime = 1000 * detectorTime / 1.0;
115 | detectorKeypoints = keypoints.size();
116 | cout << "Shi-Tomasi detection with n=" << detectorKeypoints << " keypoints in " << detectorTime << " ms" << endl;
117 |
118 | // visualize results
119 | if (bVis) {
120 | cv::Mat visImage = img.clone();
121 | cv::drawKeypoints(img, keypoints, visImage, cv::Scalar::all(-1), cv::DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
122 | string windowName = "Shi-Tomasi Corner Detector Results";
123 | cv::namedWindow(windowName, 6);
124 | imshow(windowName, visImage);
125 | cv::waitKey(0);
126 | }
127 | }
128 |
129 | // Detect keypoints in image using Harris Corner Detector
130 | void detKeypointsHarris(vector &keypoints, cv::Mat &img, double &detectorTime, int &detectorKeypoints, bool bVis) {
131 |
132 | // detector parameters
133 | int blockSize = 2; // for every pixel, a blockSize x blockSize neighborhood is considered
134 | int apertureSize = 3; // aperture parametes for Sobel operator (must be odd)
135 | int minResponse = 100; // minimum value for a corner in thr 8bit scaled response matrix
136 | double k = 0.04; // Harris parameter
137 |
138 | // detect Harris corners and normalize output
139 | detectorTime = (double)cv::getTickCount();
140 | cv::Mat dst, dst_norm, dst_norm_scaled;
141 | dst = cv::Mat::zeros(img.size(), CV_32FC1);
142 | cv::cornerHarris(img, dst, blockSize, apertureSize, k, cv::BORDER_DEFAULT);
143 | cv::normalize(dst, dst_norm, 0, 255, cv::NORM_MINMAX, CV_32FC1, cv::Mat());
144 | cv::convertScaleAbs(dst_norm, dst_norm_scaled);
145 |
146 | // look for prominent corners and instantiate keypoints
147 | double maxOverlap = 0.0; // maximum permissible overlap between two features in %, used during non-max suppression
148 | for (size_t j = 0; j (j, i);
151 | if (response > minResponse){
152 | // only store points above a threshold
153 |
154 | cv::KeyPoint newKeyPoint;
155 | newKeyPoint.pt = cv::Point2f(i, j);
156 | newKeyPoint.size = 2 * apertureSize;
157 | newKeyPoint.response = response;
158 |
159 | // perform non-maximum suppresion(NMS) in local neighborhood around new keypoint
160 | bool bOverlap = false;
161 | for (auto it = keypoints.begin(); it != keypoints.end(); ++it) {
162 | double kptOverlap = cv::KeyPoint::overlap(newKeyPoint, *it);
163 |
164 | if (kptOverlap > maxOverlap) {
165 | bOverlap = true;
166 | if (newKeyPoint.response > (*it).response) {
167 | // if overlap is > t and response is higher for a new kpt
168 | // replace old keypoint with new one
169 | *it = newKeyPoint;
170 | break; // quit loop over keypoint
171 | }
172 | }
173 | }
174 |
175 | if (!bOverlap) {
176 | // only add new keypoint if no overlap has been found
177 | keypoints.push_back(newKeyPoint); // store new keypoint in dynamic list
178 | }
179 | }
180 | }
181 | }
182 |
183 | detectorTime = ((double)cv::getTickCount() - detectorTime) / cv::getTickFrequency();
184 | detectorTime = 1000 * detectorTime / 1.0;
185 | detectorKeypoints = keypoints.size();
186 | cout << "Harris detection with n=" << detectorKeypoints << " keypoints in " << detectorTime << " ms" << endl;
187 |
188 | // visualize results
189 | if (bVis) {
190 | cv::Mat visImage = img.clone();
191 | cv::drawKeypoints(img, keypoints, visImage, cv::Scalar::all(-1), cv::DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
192 | string windowName = "Harris Corner Detector Results";
193 | cv::namedWindow(windowName, 6);
194 | imshow(windowName, visImage);
195 | cv::waitKey(0);
196 | }
197 | }
198 |
199 | // Detect keypoints in image using the modern techniques - FAST, BRISK, ORB, AKAZE, SIFT
200 | void detKeypointsModern(vector &keypoints, cv::Mat &img, string detectorType, double &detectorTime, int &detectorKeypoints, bool bVis) {
201 |
202 | string windowName;
203 | cv::Ptr detector;
204 |
205 | if (detectorType.compare("FAST") == 0) {
206 | int threshold = 30; // difference between intensity of the central pixel and pixel of a circle around this pixel
207 | bool bNMS = true; // perform non-max suppresion on keypoints
208 | cv::FastFeatureDetector::DetectorType type = cv::FastFeatureDetector::TYPE_9_16;
209 | detector = cv::FastFeatureDetector::create(threshold, bNMS, type);
210 |
211 | detectorTime = (double)cv::getTickCount();
212 | detector->detect(img, keypoints);
213 | detectorTime = ((double)cv::getTickCount() - detectorTime) / cv::getTickFrequency();
214 | detectorTime = 1000 * detectorTime / 1.0;
215 | detectorKeypoints = keypoints.size();
216 |
217 | cout<<"FAST Detector with n= " <detect(img, keypoints);
225 |
226 | detectorTime = ((double)cv::getTickCount() - detectorTime) / cv::getTickFrequency();
227 | detectorTime = 1000 * detectorTime / 1.0;
228 | detectorKeypoints = keypoints.size();
229 | cout<<"BRISK Detector with n= " <detect(img, keypoints);
237 |
238 | detectorTime = ((double)cv::getTickCount() - detectorTime) / cv::getTickFrequency();
239 | detectorTime = 1000 * detectorTime / 1.0;
240 | detectorKeypoints = keypoints.size();
241 | cout<<"ORB Detector with n= " <detect(img, keypoints);
249 |
250 | detectorTime = ((double)cv::getTickCount() - detectorTime) / cv::getTickFrequency();
251 | detectorTime = 1000 * detectorTime / 1.0;
252 | detectorKeypoints = keypoints.size();
253 | cout<<"AKAZE Detector with n= " <detect(img, keypoints);
261 |
262 | detectorTime = ((double)cv::getTickCount() - detectorTime) / cv::getTickFrequency();
263 | detectorTime = 1000 * detectorTime / 1.0;
264 | detectorKeypoints = keypoints.size();
265 | cout<<"SIFT Detector with n= " << detectorKeypoints <<" keypoints in "<