@@ -39,6 +39,7 @@ set(CMAKE_CCXX_FLAGS)
39
39
set (CMAKE_CCXX_NOWARN_FLAGS)
40
40
set (CMAKE_CCXX_NOEXCEPT_FLAGS)
41
41
set (DEF_ARCH_OPT_FLAGS)
42
+ set (DEF_ARCH_OPT_FLAGS_NON_DEBUG)
42
43
43
44
# Compatibility with DNNL
44
45
if ($ENV{ONEDNN_WERROR} )
@@ -119,7 +120,7 @@ endif()
119
120
if (MSVC )
120
121
set (USERCONFIG_PLATFORM "x64" )
121
122
append_if(DNNL_WERROR CMAKE_CCXX_FLAGS "/WX" )
122
- if (${ CMAKE_CXX_COMPILER_ID} STREQUAL MSVC )
123
+ if (CMAKE_CXX_COMPILER_ID STREQUAL " MSVC" )
123
124
append (CMAKE_CCXX_FLAGS "/MP" )
124
125
# increase number of sections in obj file
125
126
append (CMAKE_CCXX_FLAGS "/bigobj" )
@@ -235,9 +236,7 @@ elseif(UNIX OR MINGW)
235
236
# compiler specific settings
236
237
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
237
238
if (DNNL_TARGET_ARCH MATCHES "^(AARCH64|ARM)$" )
238
- if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
239
- set (DEF_ARCH_OPT_FLAGS "-O3" )
240
- endif ()
239
+ set (DEF_ARCH_OPT_FLAGS_NON_DEBUG "-O3" )
241
240
if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
242
241
# Defaults to a generic cpu target, equivalent to setting -mtune=generic -march=armv8-a.
243
242
# This ensures no implementation specific tuning, or architectural features beyond
@@ -247,21 +246,17 @@ elseif(UNIX OR MINGW)
247
246
append (DEF_ARCH_OPT_FLAGS "-mcpu=generic" )
248
247
endif ()
249
248
elseif (DNNL_TARGET_ARCH STREQUAL "PPC64" )
250
- if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
251
- set (DEF_ARCH_OPT_FLAGS "-O3" )
252
- endif ()
253
- # For native compilation tune for the host processor
254
- if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
255
- append (DEF_ARCH_OPT_FLAGS "-mcpu=native" )
256
- endif ()
249
+ set (DEF_ARCH_OPT_FLAGS_NON_DEBUG "-O3" )
250
+ # For native compilation tune for the host processor
251
+ if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
252
+ append (DEF_ARCH_OPT_FLAGS "-mcpu=native" )
253
+ endif ()
257
254
elseif (DNNL_TARGET_ARCH STREQUAL "S390X" )
258
- if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
259
- set (DEF_ARCH_OPT_FLAGS "-O3" )
260
- endif ()
261
- # For native compilation tune for the host processor
262
- if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
263
- append (DEF_ARCH_OPT_FLAGS "-march=native" )
264
- endif ()
255
+ set (DEF_ARCH_OPT_FLAGS_NON_DEBUG "-O3" )
256
+ # For native compilation tune for the host processor
257
+ if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
258
+ append (DEF_ARCH_OPT_FLAGS "-march=native" )
259
+ endif ()
265
260
elseif (DNNL_TARGET_ARCH STREQUAL "X64" )
266
261
platform_clang_x64_arch_ccxx_flags(DEF_ARCH_OPT_FLAGS)
267
262
endif ()
@@ -326,7 +321,7 @@ elseif(UNIX OR MINGW)
326
321
endif ()
327
322
endif ()
328
323
329
- elseif (" ${ CMAKE_CXX_COMPILER_ID} " STREQUAL "GNU" )
324
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
330
325
# XXX: Suppress a warning that pops up when using a function pointer
331
326
# to an OpenCL function as a template argument (GCC Bugzilla – Bug 71463).
332
327
if (DNNL_GPU_RUNTIME STREQUAL "OCL" )
@@ -340,9 +335,8 @@ elseif(UNIX OR MINGW)
340
335
endif ()
341
336
342
337
if (DNNL_TARGET_ARCH MATCHES "^(AARCH64|ARM)$" )
343
- if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
344
- set (DEF_ARCH_OPT_FLAGS "-O3" )
345
- endif ()
338
+ set (DEF_ARCH_OPT_FLAGS_NON_DEBUG "-O3" )
339
+ # For native compilation tune for the host processor
346
340
if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
347
341
# Defaults to a generic cpu target, equivalent to setting -mtune=generic -march=armv8-a.
348
342
# This ensures no implementation specific tuning, or architectural features beyond
@@ -352,18 +346,14 @@ elseif(UNIX OR MINGW)
352
346
append (DEF_ARCH_OPT_FLAGS "-mcpu=generic" )
353
347
endif ()
354
348
elseif (DNNL_TARGET_ARCH STREQUAL "PPC64" )
355
- if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
356
- set (DEF_ARCH_OPT_FLAGS "-O3" )
357
- endif ()
349
+ set (DEF_ARCH_OPT_FLAGS_NON_DEBUG "-O3" )
358
350
# In GCC, -ftree-vectorize is turned on under -O3 since 2007.
359
351
# For native compilation tune for the host processor
360
352
if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
361
353
append (DEF_ARCH_OPT_FLAGS "-mcpu=native" )
362
354
endif ()
363
355
elseif (DNNL_TARGET_ARCH STREQUAL "S390X" )
364
- if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
365
- set (DEF_ARCH_OPT_FLAGS "-O3" )
366
- endif ()
356
+ set (DEF_ARCH_OPT_FLAGS_NON_DEBUG "-O3" )
367
357
# In GCC, -ftree-vectorize is turned on under -O3 since 2007.
368
358
# For native compilation tune for the host processor
369
359
if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
@@ -418,8 +408,13 @@ if(DNNL_ARCH_OPT_FLAGS STREQUAL "HostOpts")
418
408
set (DNNL_ARCH_OPT_FLAGS "${DEF_ARCH_OPT_FLAGS} " )
419
409
endif ()
420
410
421
- append (CMAKE_C_FLAGS "${CMAKE_CCXX_FLAGS} ${DNNL_ARCH_OPT_FLAGS} " )
422
- append (CMAKE_CXX_FLAGS "${CMAKE_CCXX_FLAGS} ${DNNL_ARCH_OPT_FLAGS} " )
411
+ append (CMAKE_C_FLAGS "${CMAKE_CCXX_FLAGS} " )
412
+ append (CMAKE_CXX_FLAGS "${CMAKE_CCXX_FLAGS} " )
413
+
414
+ foreach (config RELEASE RELWITHDEBINFO MINSIZEREL)
415
+ append (CMAKE_CXX_FLAGS_${config} "${DEF_ARCH_OPT_FLAGS_NON_DEBUG} " )
416
+ append (CMAKE_C_FLAGS_${config} "${DEF_ARCH_OPT_FLAGS_NON_DEBUG} " )
417
+ endforeach ()
423
418
424
419
if (APPLE )
425
420
set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
0 commit comments