mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-30 23:03:05 +00:00 
			
		
		
		
	Merge branch 'volk-msvc' into next
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -14,3 +14,6 @@ cmake-build-debug/ | ||||
| /install | ||||
| .DS_Store | ||||
| .pydevproject | ||||
| .vscode/ | ||||
| .vs/ | ||||
| Testing/ | ||||
|   | ||||
| @@ -140,6 +140,9 @@ endif() | ||||
| if((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11")) | ||||
|     set(CMAKE_REQUIRED_FLAGS "-std=c++17") | ||||
| endif() | ||||
| if(MSVC AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "18")) | ||||
|     set(CMAKE_REQUIRED_FLAGS "/std:c++17") | ||||
| endif() | ||||
|  | ||||
| # Normalize and check the component list we were given | ||||
| set(want_components ${FILESYSTEM_FIND_COMPONENTS}) | ||||
|   | ||||
| @@ -49,6 +49,7 @@ | ||||
| - Fixed building in some ARM-based devices. Now Clang and ARMClang can be used for native building. | ||||
| - Added toolchain files for building gnss-sdr and the volk_gnsssdr library in several ARM processor architectures, including those in Raspberry Pi 3 and 4. | ||||
| - The software can now be built using Xcode (passing -GXcode to CMake) without previous manual installation of volk_gnsssdr. | ||||
| - Now the volk_gnsssdr library can be built on Microsoft Windows. | ||||
|  | ||||
|  | ||||
| ### Improvements in Reliability: | ||||
|   | ||||
| @@ -27,7 +27,6 @@ | ||||
|  * ------------------------------------------------------------------------- | ||||
|  */ | ||||
|  | ||||
| #include <cstdbool>  // for bool | ||||
| #include <iosfwd>    // for ofstream | ||||
| #include <string>    // for string | ||||
| #include <vector>    // for vector | ||||
|   | ||||
| @@ -139,6 +139,9 @@ endif() | ||||
| if((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11")) | ||||
|     set(CMAKE_REQUIRED_FLAGS "-std=c++17") | ||||
| endif() | ||||
| if(MSVC AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "18")) | ||||
|     set(CMAKE_REQUIRED_FLAGS "/std:c++17") | ||||
| endif() | ||||
|  | ||||
| # Normalize and check the component list we were given | ||||
| set(want_components ${FILESYSTEM_FIND_COMPONENTS}) | ||||
|   | ||||
| @@ -45,6 +45,9 @@ | ||||
|  | ||||
| #ifdef __cplusplus | ||||
|  | ||||
| #ifdef _MSC_VER | ||||
| #include <complex.h> | ||||
| #endif | ||||
| #include <complex> | ||||
| #include <stdint.h> | ||||
|  | ||||
|   | ||||
| @@ -103,7 +103,7 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_g | ||||
|                 } | ||||
|             tmp32_1 = *in_common++ * (*phase); | ||||
|             phase_doppler *= phase_inc; | ||||
|             phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake(n * n, 0.0f)); | ||||
|             phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake((float)(n * n), 0.0f)); | ||||
|             phase_doppler_rate /= hypotf(lv_creal(phase_doppler_rate), lv_cimag(phase_doppler_rate)); | ||||
|             (*phase) = phase_doppler * phase_doppler_rate; | ||||
|  | ||||
|   | ||||
| @@ -80,7 +80,7 @@ if(HAVE_POSIX_MEMALIGN) | ||||
|       add_definitions(-DHAVE_POSIX_MEMALIGN) | ||||
| endif() | ||||
|  | ||||
| if(NOT DEFINED _XOPEN_SOURCE) | ||||
| if(NOT DEFINED _XOPEN_SOURCE AND NOT MSVC) | ||||
|       add_definitions(-D_XOPEN_SOURCE=700) | ||||
| endif() | ||||
|  | ||||
| @@ -213,7 +213,7 @@ if(CPU_IS_x86) | ||||
|     endif() | ||||
|  | ||||
|     # Disable SSE4a if Clang is less than version 3.2 | ||||
|     if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang") | ||||
|     if(CMAKE_C_COMPILER_ID MATCHES "Clang") | ||||
|       # Figure out the version of Clang | ||||
|       if(CMAKE_VERSION VERSION_LESS "2.8.10") | ||||
|         # Extract the Clang version from the --version string. | ||||
| @@ -564,7 +564,8 @@ list(APPEND volk_gnsssdr_sources | ||||
| set_source_files_properties( | ||||
|     ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr.c | ||||
|     ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_machines.c | ||||
| PROPERTIES COMPILE_DEFINITIONS "${machine_defs}") | ||||
|     PROPERTIES COMPILE_DEFINITIONS "${machine_defs}" | ||||
| ) | ||||
|  | ||||
| if(MSVC) | ||||
|     #add compatibility includes for stdint types | ||||
| @@ -583,7 +584,7 @@ if(NOT (CMAKE_GENERATOR STREQUAL Xcode)) | ||||
|         PUBLIC $<INSTALL_INTERFACE:include> | ||||
|         PRIVATE ${PROJECT_SOURCE_DIR}/kernels | ||||
|         PRIVATE ${CMAKE_CURRENT_BINARY_DIR} | ||||
|        PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} | ||||
|         PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} | ||||
|     ) | ||||
| endif() | ||||
|  | ||||
|   | ||||
| @@ -25,7 +25,6 @@ | ||||
|  | ||||
| #include "volk_gnsssdr/volk_gnsssdr.h"          // for volk_gnsssdr_func_desc_t | ||||
| #include "volk_gnsssdr/volk_gnsssdr_complex.h"  // for lv_32fc_t | ||||
| #include <cstdbool>                             // for bool, false | ||||
| #include <cstdlib>                              // for NULL | ||||
| #include <map>                                  // for map | ||||
| #include <string>                               // for string, basic_string | ||||
|   | ||||
| @@ -21,7 +21,6 @@ | ||||
| #include "kernel_tests.h"                       // for init_test_list | ||||
| #include "qa_utils.h"                           // for volk_gnsssdr_test_case_t, volk_gnsssdr_test_results_t | ||||
| #include "volk_gnsssdr/volk_gnsssdr_complex.h"  // for lv_32fc_t | ||||
| #include <cstdbool>                             // for bool, false, true | ||||
| #include <fstream>                              // IWYU pragma: keep | ||||
| #include <iostream>                             // for operator<<, basic_ostream, endl, char... | ||||
| #include <map>                                  // for map, map<>::iterator, _Rb_tree_iterator | ||||
|   | ||||
| @@ -59,6 +59,7 @@ static inline unsigned long long _xgetbv(unsigned int index) | ||||
| #elif defined(_MSC_VER) && defined(HAVE_INTRIN_H) | ||||
| #include <intrin.h> | ||||
| #define cpuid_x86(op, r) __cpuid(((int *)r), op) | ||||
| #define cpuid_x86_count(op, count, regs) __cpuidex((int *)regs, op, count) | ||||
|  | ||||
| #if defined(_XCR_XFEATURE_ENABLED_MASK) | ||||
| #define __xgetbv() _xgetbv(_XCR_XFEATURE_ENABLED_MASK) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez