diff --git a/CMakeLists.txt b/CMakeLists.txt index d6401845..042523e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,9 @@ ######################################################################## # Project setup ######################################################################## -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.10) + +# We use `IS_64BIT now: https://cmake.org/cmake/help/latest/command/cmake_host_system_information.html set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose build type: None Debug Release RelWithDebInfo MinSizeRel") @@ -82,7 +84,7 @@ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.") set(VERSION_INFO_MAJOR_VERSION 3) set(VERSION_INFO_MINOR_VERSION 1) -set(VERSION_INFO_MAINT_VERSION 2) +set(VERSION_INFO_MAINT_VERSION 0) include(VolkVersion) #setup version info math(EXPR VOLK_VERSION_DECIMAL "${VERSION_INFO_MAJOR_VERSION} * 10000 @@ -213,7 +215,9 @@ add_subdirectory(docs) ######################################################################## # Detect /lib versus /lib64 ######################################################################## -include(GNUInstallDirs) +if(${CMAKE_INSTALL_LIBDIR} MATCHES lib64) + set(LIB_SUFFIX 64) +endif() ######################################################################## # Setup the package config file @@ -221,7 +225,7 @@ include(GNUInstallDirs) #set variables found in the pc.in file set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix "\${prefix}") -set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") +set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}") set(includedir "\${prefix}/include") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tmpl/volk.pc.in @@ -229,14 +233,14 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tmpl/volk.pc.in install( FILES ${CMAKE_CURRENT_BINARY_DIR}/volk.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + DESTINATION lib${LIB_SUFFIX}/pkgconfig COMPONENT "volk_devel") ######################################################################## # Install all headers in the include directories ######################################################################## set(VOLK_RUNTIME_DIR bin) -set(VOLK_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}) +set(VOLK_LIBRARY_DIR lib${LIB_SUFFIX}) set(VOLK_INCLUDE_DIR include) install( @@ -318,7 +322,7 @@ configure_file(${CMAKE_SOURCE_DIR}/cmake/Modules/VolkConfigVersion.cmake.in ######################################################################## if(NOT CMAKE_MODULES_DIR) - set(CMAKE_MODULES_DIR ${CMAKE_INSTALL_LIBDIR}/cmake) + set(CMAKE_MODULES_DIR lib${LIB_SUFFIX}/cmake) endif(NOT CMAKE_MODULES_DIR) install( diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 074f46f8..66dcbe90 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -255,17 +255,16 @@ endif() ######################################################################## if(NOT CROSSCOMPILE_MULTILIB AND CPU_IS_x86) include(CheckTypeSize) - check_type_size("void*[8]" SIZEOF_CPU BUILTIN_TYPES_ONLY) - if(${SIZEOF_CPU} EQUAL 64) + cmake_host_system_information(RESULT ASSUME_64BIT_HOST QUERY IS_64BIT) + if(ASSUME_64BIT_HOST) overrule_arch(32 "CPU width is 64 bits") - endif() - if(${SIZEOF_CPU} EQUAL 32) + else() overrule_arch(64 "CPU width is 32 bits") endif() #MSVC 64 bit does not have MMX, overrule it if(MSVC) - if(${SIZEOF_CPU} EQUAL 64) + if(ASSUME_64BIT_HOST) overrule_arch(mmx "No MMX for Win64") endif() force_arch(sse "Built-in for MSVC > 2013") @@ -592,8 +591,8 @@ set_target_properties(volk PROPERTIES DEFINE_SYMBOL "volk_EXPORTS") install( TARGETS volk EXPORT VOLK-export - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT "volk_runtime" # .so file - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT "volk_devel" # .lib file + LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_runtime" # .so file + ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_devel" # .lib file RUNTIME DESTINATION bin COMPONENT "volk_runtime" # .dll file ) @@ -635,7 +634,7 @@ if(ENABLE_STATIC_LIBS) install( TARGETS volk_static EXPORT VOLK-export - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT "volk_devel") + ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_devel") endif(ENABLE_STATIC_LIBS) ########################################################################