Find cpu_features.a file in more distributions. Update Google benchmark to 1.5.2

This commit is contained in:
Carles Fernandez 2020-10-24 10:48:48 +02:00
parent 3bc4cf2637
commit 33cee471f1
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
3 changed files with 26 additions and 86 deletions

View File

@ -329,7 +329,7 @@ set(GNSSSDR_GPSTK_LOCAL_VERSION "3.0.0")
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.18") set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.18")
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.10") set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.10")
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.13.0") set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.13.0")
set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.1") set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.2")
if(CMAKE_VERSION VERSION_LESS "3.0.2") if(CMAKE_VERSION VERSION_LESS "3.0.2")
set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.1") # Fix for CentOS 7 set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.1") # Fix for CentOS 7
@ -1117,6 +1117,7 @@ if(NOT VOLKGNSSSDR_FOUND)
) )
endif() endif()
endif() endif()
include(GNUInstallDirs)
if(CMAKE_VERSION VERSION_LESS 3.2) if(CMAKE_VERSION VERSION_LESS 3.2)
ExternalProject_Add(volk_gnsssdr_module ExternalProject_Add(volk_gnsssdr_module
PREFIX ${CMAKE_BINARY_DIR}/volk_gnsssdr_module PREFIX ${CMAKE_BINARY_DIR}/volk_gnsssdr_module
@ -1143,7 +1144,7 @@ if(NOT VOLKGNSSSDR_FOUND)
BUILD_COMMAND ${VOLK_GNSSSDR_BUILD_COMMAND} volk_gnsssdr_profile BUILD_COMMAND ${VOLK_GNSSSDR_BUILD_COMMAND} volk_gnsssdr_profile
BUILD_BYPRODUCTS ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}volk_gnsssdr${CMAKE_STATIC_LIBRARY_SUFFIX} BUILD_BYPRODUCTS ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}volk_gnsssdr${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/bin/volk_gnsssdr_profile ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/bin/volk_gnsssdr_profile
${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX} ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
INSTALL_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install INSTALL_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install
) )
endif() endif()
@ -1169,9 +1170,9 @@ if(NOT VOLKGNSSSDR_FOUND)
INTERFACE_INCLUDE_DIRECTORIES "${VOLK_GNSSSDR_INCLUDE_DIRS}" INTERFACE_INCLUDE_DIRECTORIES "${VOLK_GNSSSDR_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${VOLK_GNSSSDR_LIBRARIES}" INTERFACE_LINK_LIBRARIES "${VOLK_GNSSSDR_LIBRARIES}"
) )
if(CMAKE_VERSION VERSION_GREATER 3.0) # and GCC, and Clang and PYTHON... if(CMAKE_VERSION VERSION_GREATER 3.0)
set_target_properties(Volkgnsssdr::volkgnsssdr PROPERTIES set_target_properties(Volkgnsssdr::volkgnsssdr PROPERTIES
INTERFACE_LINK_LIBRARIES ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX} INTERFACE_LINK_LIBRARIES ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
) )
endif() endif()
endif() endif()

View File

@ -53,7 +53,7 @@ target_include_directories(volk_gnsssdr_profile
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
) )
if(NOT ${FILESYSTEM_FOUND}) if(NOT FILESYSTEM_FOUND)
target_include_directories(volk_gnsssdr_profile target_include_directories(volk_gnsssdr_profile
PUBLIC ${Boost_INCLUDE_DIRS} PUBLIC ${Boost_INCLUDE_DIRS}
) )
@ -61,7 +61,7 @@ if(NOT ${FILESYSTEM_FOUND})
endif() endif()
if(${FILESYSTEM_FOUND}) if(FILESYSTEM_FOUND)
add_definitions(-DHAS_STD_FILESYSTEM=1) add_definitions(-DHAS_STD_FILESYSTEM=1)
if(${find_experimental}) if(${find_experimental})
add_definitions(-DHAS_STD_FILESYSTEM_EXPERIMENTAL=1) add_definitions(-DHAS_STD_FILESYSTEM_EXPERIMENTAL=1)
@ -70,9 +70,9 @@ if(${FILESYSTEM_FOUND})
endif() endif()
if(ENABLE_STATIC_LIBS) if(ENABLE_STATIC_LIBS)
target_link_libraries(volk_gnsssdr_profile PUBLIC volk_gnsssdr_static ${orc_lib}) target_link_libraries(volk_gnsssdr_profile PRIVATE volk_gnsssdr_static ${orc_lib})
else() else()
target_link_libraries(volk_gnsssdr_profile PUBLIC volk_gnsssdr ${orc_lib}) target_link_libraries(volk_gnsssdr_profile PRIVATE volk_gnsssdr ${orc_lib})
add_dependencies(volk_gnsssdr_profile volk_gnsssdr) add_dependencies(volk_gnsssdr_profile volk_gnsssdr)
endif() endif()
@ -122,8 +122,8 @@ install(
# Launch volk_gnsssdr_profile if requested to do so # Launch volk_gnsssdr_profile if requested to do so
if(ENABLE_PROFILING) if(ENABLE_PROFILING)
if(DEFINED VOLK_CONFIGPATH) if(DEFINED VOLK_CONFIGPATH)
set( VOLK_CONFIG_ARG "-p${VOLK_CONFIGPATH}" ) set(VOLK_CONFIG_ARG "-p${VOLK_CONFIGPATH}")
set( VOLK_CONFIG "${VOLK_CONFIGPATH}/volk_gnsssdr_config" ) set(VOLK_CONFIG "${VOLK_CONFIGPATH}/volk_gnsssdr_config")
endif() endif()
add_custom_command(OUTPUT ${VOLK_CONFIG} add_custom_command(OUTPUT ${VOLK_CONFIG}
COMMAND volk_gnsssdr_profile "${VOLK_CONFIG_ARG}" COMMAND volk_gnsssdr_profile "${VOLK_CONFIG_ARG}"

View File

@ -46,7 +46,7 @@
<arch name="64"> <arch name="64">
<!-- <check name="check_extended_cpuid"> --> <!-- <check name="check_extended_cpuid"> -->
<!-- <param>0x80000001</param> <!-- <param>0x80000001</param>
</check> --> </check> -->
<!--<check name="cpuid_x86_bit"> checks to see if a bit is set --> <!--<check name="cpuid_x86_bit"> checks to see if a bit is set -->
<!-- <param>3</param> eax, ebx, ecx, [edx] --> <!-- <param>3</param> eax, ebx, ecx, [edx] -->
@ -58,22 +58,14 @@
</arch> </arch>
<arch name="popcount"> <arch name="popcount">
<check name="popcnt"> <check name="popcnt"></check>
<param>2</param>
<param>0x00000001</param>
<param>23</param>
</check>
<flag compiler="gnu">-mpopcnt</flag> <flag compiler="gnu">-mpopcnt</flag>
<flag compiler="clang">-mpopcnt</flag> <flag compiler="clang">-mpopcnt</flag>
<flag compiler="msvc">/arch:AVX</flag> <flag compiler="msvc">/arch:AVX</flag>
</arch> </arch>
<arch name="mmx"> <arch name="mmx">
<check name="mmx"> <check name="mmx"></check>
<param>3</param>
<param>0x00000001</param>
<param>23</param>
</check>
<flag compiler="gnu">-mmmx</flag> <flag compiler="gnu">-mmmx</flag>
<flag compiler="clang">-mmmx</flag> <flag compiler="clang">-mmmx</flag>
<flag compiler="msvc">/arch:SSE</flag> <flag compiler="msvc">/arch:SSE</flag>
@ -81,11 +73,7 @@
</arch> </arch>
<arch name="fma"> <arch name="fma">
<check name="fma3"> <check name="fma3"></check>
<param>2</param>
<param>0x00000001</param>
<param>12</param>
</check>
<flag compiler="gnu">-mfma</flag> <flag compiler="gnu">-mfma</flag>
<flag compiler="clang">-mfma</flag> <flag compiler="clang">-mfma</flag>
<flag compiler="msvc">/arch:AVX2</flag> <flag compiler="msvc">/arch:AVX2</flag>
@ -93,11 +81,7 @@
</arch> </arch>
<arch name="sse"> <arch name="sse">
<check name="sse"> <check name="sse"></check>
<param>3</param>
<param>0x00000001</param>
<param>25</param>
</check>
<flag compiler="gnu">-msse</flag> <flag compiler="gnu">-msse</flag>
<flag compiler="clang">-msse</flag> <flag compiler="clang">-msse</flag>
<flag compiler="msvc">/arch:SSE</flag> <flag compiler="msvc">/arch:SSE</flag>
@ -107,11 +91,7 @@
</arch> </arch>
<arch name="sse2"> <arch name="sse2">
<check name="sse2"> <check name="sse2"></check>
<param>3</param>
<param>0x00000001</param>
<param>26</param>
</check>
<flag compiler="gnu">-msse2</flag> <flag compiler="gnu">-msse2</flag>
<flag compiler="clang">-msse2</flag> <flag compiler="clang">-msse2</flag>
<flag compiler="msvc">/arch:SSE2</flag> <flag compiler="msvc">/arch:SSE2</flag>
@ -126,11 +106,7 @@
</arch> </arch>
<arch name="sse3"> <arch name="sse3">
<check name="sse3"> <check name="sse3"></check>
<param>2</param>
<param>0x00000001</param>
<param>0</param>
</check>
<flag compiler="gnu">-msse3</flag> <flag compiler="gnu">-msse3</flag>
<flag compiler="clang">-msse3</flag> <flag compiler="clang">-msse3</flag>
<flag compiler="msvc">/arch:AVX</flag> <flag compiler="msvc">/arch:AVX</flag>
@ -140,11 +116,7 @@
</arch> </arch>
<arch name="ssse3"> <arch name="ssse3">
<check name="ssse3"> <check name="ssse3"></check>
<param>2</param>
<param>0x00000001</param>
<param>9</param>
</check>
<flag compiler="gnu">-mssse3</flag> <flag compiler="gnu">-mssse3</flag>
<flag compiler="clang">-mssse3</flag> <flag compiler="clang">-mssse3</flag>
<flag compiler="msvc">/arch:AVX</flag> <flag compiler="msvc">/arch:AVX</flag>
@ -152,22 +124,14 @@
</arch> </arch>
<arch name="sse4_a"> <arch name="sse4_a">
<check name="sse4a"> <check name="sse4a"></check>
<param>2</param>
<param>0x80000001</param>
<param>6</param>
</check>
<flag compiler="gnu">-msse4a</flag> <flag compiler="gnu">-msse4a</flag>
<flag compiler="clang">-msse4a</flag> <flag compiler="clang">-msse4a</flag>
<alignment>16</alignment> <alignment>16</alignment>
</arch> </arch>
<arch name="sse4_1"> <arch name="sse4_1">
<check name="sse4_1"> <check name="sse4_1"></check>
<param>2</param>
<param>0x00000001</param>
<param>19</param>
</check>
<flag compiler="gnu">-msse4.1</flag> <flag compiler="gnu">-msse4.1</flag>
<flag compiler="clang">-msse4.1</flag> <flag compiler="clang">-msse4.1</flag>
<flag compiler="msvc">/arch:AVX</flag> <flag compiler="msvc">/arch:AVX</flag>
@ -175,11 +139,7 @@
</arch> </arch>
<arch name="sse4_2"> <arch name="sse4_2">
<check name="sse4_2"> <check name="sse4_2"></check>
<param>2</param>
<param>0x00000001</param>
<param>20</param>
</check>
<flag compiler="gnu">-msse4.2</flag> <flag compiler="gnu">-msse4.2</flag>
<flag compiler="clang">-msse4.2</flag> <flag compiler="clang">-msse4.2</flag>
<flag compiler="msvc">/arch:AVX</flag> <flag compiler="msvc">/arch:AVX</flag>
@ -187,11 +147,7 @@
</arch> </arch>
<arch name="avx"> <arch name="avx">
<check name="avx"> <check name="avx"></check>
<param>2</param>
<param>0x00000001</param>
<param>28</param>
</check>
<flag compiler="gnu">-mavx</flag> <flag compiler="gnu">-mavx</flag>
<flag compiler="clang">-mavx</flag> <flag compiler="clang">-mavx</flag>
<flag compiler="msvc">/arch:AVX</flag> <flag compiler="msvc">/arch:AVX</flag>
@ -199,12 +155,7 @@
</arch> </arch>
<arch name="avx2"> <arch name="avx2">
<check name="avx2"> <check name="avx2"></check>
<param>7</param>
<param>0</param>
<param>1</param>
<param>5</param>
</check>
<flag compiler="gnu">-mavx2</flag> <flag compiler="gnu">-mavx2</flag>
<flag compiler="clang">-mavx2</flag> <flag compiler="clang">-mavx2</flag>
<flag compiler="msvc">/arch:AVX2</flag> <flag compiler="msvc">/arch:AVX2</flag>
@ -212,13 +163,7 @@
</arch> </arch>
<arch name="avx512f"> <arch name="avx512f">
<!-- check for AVX512F --> <check name="avx512f"></check>
<check name="avx512f">
<param>7</param>
<param>0</param>
<param>1</param>
<param>16</param>
</check>
<flag compiler="gnu">-mavx512f</flag> <flag compiler="gnu">-mavx512f</flag>
<flag compiler="clang">-mavx512f</flag> <flag compiler="clang">-mavx512f</flag>
<flag compiler="msvc">/arch:AVX512F</flag> <flag compiler="msvc">/arch:AVX512F</flag>
@ -226,13 +171,7 @@
</arch> </arch>
<arch name="avx512cd"> <arch name="avx512cd">
<!-- check for AVX512CD --> <check name="avx512cd"></check>
<check name="avx512cd">
<param>7</param>
<param>0</param>
<param>1</param>
<param>28</param>
</check>
<flag compiler="gnu">-mavx512cd</flag> <flag compiler="gnu">-mavx512cd</flag>
<flag compiler="clang">-mavx512cd</flag> <flag compiler="clang">-mavx512cd</flag>
<flag compiler="msvc">/arch:AVX512CD</flag> <flag compiler="msvc">/arch:AVX512CD</flag>