Skip to content

Commit

Permalink
Merge commit 'a37c3b07ab399c82bd5e5ba9c029a6c8f463f508'
Browse files Browse the repository at this point in the history
  • Loading branch information
yekm committed Mar 25, 2024
2 parents 25a814c + a37c3b0 commit 59514ea
Show file tree
Hide file tree
Showing 192 changed files with 769 additions and 470 deletions.
12 changes: 12 additions & 0 deletions kfr/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
insert_final_newline = true

charset = utf-8

indent_style = space
indent_size = 4

[.sh]
end_of_line = lf
64 changes: 21 additions & 43 deletions kfr/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) 2016 D Levin (http://www.kfrlib.com)
# Copyright (C) 2016-2022 Fractalium Ltd (http://www.kfrlib.com)
# This file is part of KFR
#
# KFR is free software: you can redistribute it and/or modify
Expand All @@ -14,11 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with KFR.

cmake_minimum_required(VERSION 3.1)

set(CMAKE_CXX_FLAGS
" ${CMAKE_CXX_FLAGS}"
CACHE STRING "compile flags" FORCE)
cmake_minimum_required(VERSION 3.10)

project(kfr CXX)

Expand All @@ -32,33 +28,12 @@ if (WIN32 AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
CACHE STRING "Reset install prefix on Win32" FORCE)
endif ()

if (WIN32)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif ()

set(CMAKE_CXX_VISIBILITY_PRESET "default")
set(CMAKE_C_VISIBILITY_PRESET "default")

message(STATUS "Install prefix = ${CMAKE_INSTALL_PREFIX}")

message(
STATUS
"C++ compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} ${CMAKE_CXX_COMPILER} "
)
message(STATUS CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR})

set(X86 FALSE)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
set(X86 TRUE)
else ()
set(X86 FALSE)
endif ()

if (X86)
message(STATUS X86)
endif ()

if (MSVC)
message(STATUS MSVC)
if (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
set(X86 TRUE)
endif ()

if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL
Expand Down Expand Up @@ -90,6 +65,7 @@ option(REGENERATE_TESTS "Regenerate auto tests" OFF)
option(DISABLE_CLANG_EXTENSIONS "Disable Clang vector extensions" OFF)
option(KFR_EXTENDED_TESTS "Extended tests (up to hour)" OFF)
option(SKIP_TESTS "Skip tests (only build)" OFF)
option(KFR_STD_COMPLEX "Use std::complex instead of custom complex type" OFF)
mark_as_advanced(ENABLE_ASMTEST)
mark_as_advanced(REGENERATE_TESTS)
mark_as_advanced(DISABLE_CLANG_EXTENSIONS)
Expand Down Expand Up @@ -145,6 +121,12 @@ else ()
set(PTHREAD_LIB pthread)
endif ()

if (MSVC AND CLANG)
set(CLANG_ARG_PREFIX "SHELL:-Xclang ")
else ()
set(CLANG_ARG_PREFIX "")
endif ()

# KFR library
add_library(kfr INTERFACE)
target_sources(kfr INTERFACE ${KFR_SRC})
Expand All @@ -154,10 +136,8 @@ if (APPLE)
target_compile_options(kfr INTERFACE -faligned-allocation)
endif ()
if (NOT IOS)
if (CLANG)
target_compile_options(kfr INTERFACE -Xclang -mstackrealign)
elseif (NOT MSVC)
target_compile_options(kfr INTERFACE -mstackrealign)
if (NOT MSVC OR CLANG)
target_compile_options(kfr INTERFACE "${CLANG_ARG_PREFIX}-mstackrealign")
endif ()
endif ()
if (MSVC)
Expand All @@ -168,11 +148,14 @@ endif ()
if (DISABLE_CLANG_EXTENSIONS)
target_compile_definitions(kfr INTERFACE -DCMT_DISABLE_CLANG_EXT)
endif ()
if (KFR_STD_COMPLEX)
target_compile_definitions(kfr INTERFACE -DKFR_STD_COMPLEX)
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
target_compile_options(kfr INTERFACE -Wno-ignored-qualifiers)
target_compile_options(kfr INTERFACE -Wno-ignored-qualifiers -Wno-psabi)
endif ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
target_compile_options(kfr INTERFACE -Wno-c++1z-extensions)
target_compile_options(kfr INTERFACE -Wno-c++1z-extensions -Wno-psabi)
endif ()

if (NOT ENABLE_DFT)
Expand Down Expand Up @@ -201,11 +184,7 @@ endfunction ()

if (ENABLE_DFT)

if (MSVC)
set(KFR_DFT_DEFS -fp:fast)
else ()
set(KFR_DFT_DEFS -ffast-math)
endif ()
set(KFR_DFT_DEFS "${CLANG_ARG_PREFIX}-ffp-contract=fast")

if (ENABLE_DFT_MULTIARCH)
add_library(kfr_dft INTERFACE)
Expand Down Expand Up @@ -284,7 +263,6 @@ if (ENABLE_DFT)
endif ()
append_defines_from(kfr_io)

message(STATUS kfr_defines = "${kfr_defines}")
string(REPLACE "=" " " kfr_defines "${kfr_defines}")
string(REPLACE ";" "\n#define " kfr_defines "${kfr_defines}")
set(kfr_defines "#define ${kfr_defines}\n")
Expand Down Expand Up @@ -335,4 +313,4 @@ if (DEBUG_CMAKE)
foreach (_variableName ${_variableNames})
message(STATUS "${_variableName}=${${_variableName}}")
endforeach ()
endif ()
endif ()
Loading

0 comments on commit 59514ea

Please sign in to comment.