Skip to content

Commit 87005c1

Browse files
authored
Merge pull request #5 from ekomarova/transition-to-scikit-build
Add high precision compiler flags
2 parents ea90d0f + e26ba4d commit 87005c1

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

CMakeLists.txt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ if(WIN32)
4040
"/GS "
4141
"/DynamicBase "
4242
)
43-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Ox ${WARNING_FLAGS} ${SDL_FLAGS}")
43+
string(CONCAT PRECISION_FLAGS
44+
"/fp:fast=2 "
45+
"/Qimf-precision=high "
46+
"/Qprec-sqrt "
47+
"/Qprotect-parens "
48+
)
49+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Ox ${WARNING_FLAGS} ${SDL_FLAGS} ${PRECISION_FLAGS}")
4450
set(CMAKE_C_FLAGS_DEBUG
4551
"${CMAKE_C_FLAGS_DEBUG} ${WARNING_FLAGS} ${SDL_FLAGS} -O0 -g1 -DDEBUG"
4652
)
@@ -73,7 +79,13 @@ elseif(UNIX)
7379
"${WARNING_FLAGS}"
7480
"${SDL_FLAGS}"
7581
)
76-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 ${CFLAGS}")
82+
string(CONCAT PRECISION_FLAGS
83+
"-prec-sqrt "
84+
"-fprotect-parens "
85+
"-fimf-precision=high "
86+
"-fp-model fast=2 "
87+
)
88+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 ${CFLAGS} ${PRECISION_FLAGS}")
7789
set(CMAKE_C_FLAGS_DEBUG
7890
"${CMAKE_C_FLAGS_DEBUG} ${CFLAGS} -O0 -g1 -DDEBUG"
7991
)
@@ -90,7 +102,10 @@ set(_linker_options ${MKL_UMATH_LINKER_OPTIONS})
90102

91103
set(_trgt mkl_umath_loops)
92104
add_library(${_trgt} SHARED "mkl_umath/src/mkl_umath_loops.c")
93-
set_target_properties(${_trgt} PROPERTIES CMAKE_POSITION_INDEPENDENT_CODE ON)
105+
set_target_properties(${_trgt} PROPERTIES
106+
CMAKE_POSITION_INDEPENDENT_CODE ON
107+
C_STANDARD 99
108+
)
94109
target_include_directories(${_trgt} PRIVATE "mkl_umath/src/" ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR})
95110
target_link_libraries(${_trgt} PRIVATE mkl_rt ${Python_LIBRARIES})
96111
target_link_options(${_trgt} PRIVATE ${_linker_options})

0 commit comments

Comments
 (0)