@@ -19,21 +19,22 @@ set(extra_defines -D_DEFAULT_SOURCE)
19
19
# Final flags for C and C++:
20
20
set (c_flags "${includes} ${extra_defines} " )
21
21
set (cxx_flags "${includes} ${extra_defines} " )
22
- ## These flags for lates GCC to enable -DCV_INT32_T_IS_LONG_INT=ON
23
- # set(c_flags "${includes} ${extra_defines} -DCV_INT32_T_IS_LONG_INT=ON")
24
- # set(cxx_flags "${includes} ${extra_defines} -DCV_INT32_T_IS_LONG_INT=ON")
22
+
23
+ set (common_flags "-ggdb -ffunction-sections -fdata-sections" )
25
24
26
25
# Calculate flags for optimizations, assertions, debug info:
27
- # if(COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
28
- # set(assert_flags "-DNDEBUG")
29
- # else()
30
- # set(assert_flags "-DDEBUG -D_DEBUG")
31
- # endif()
26
+ if (COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
27
+ set (assert_flags "-DNDEBUG" )
28
+ else ()
29
+ set (assert_flags "-DDEBUG -D_DEBUG" )
30
+ endif ()
32
31
33
- set (assert_flags "${assert_flags} -DDEBUG -D_DEBUG -ffunction-sections -fdata-sections" )
32
+ if (CONFIG_IDF_TARGET_ARCH_XTENSA)
33
+ set (assert_flags "${assert_flags} -mlongcalls" )
34
+ endif ()
34
35
35
36
if (CONFIG_COMPILER_OPTIMIZATION_DEFAULT)
36
- set (opt_flags "-Og -ggdb -mlongcalls ${assert_flags} " )
37
+ set (opt_flags "-Og ${common_flags} ${assert_flags} " )
37
38
set (opt_args -DCMAKE_BUILD_TYPE=Debug
38
39
-DCMAKE_C_FLAGS_DEBUG=${opt_flags}
39
40
-DCMAKE_CXX_FLAGS_DEBUG=${opt_flags} )
@@ -42,20 +43,20 @@ elseif(CONFIG_COMPILER_OPTIMIZATION_SIZE)
42
43
# however OpenCV CMake files only handle Debug and Release
43
44
# (see e.g. opencv/cmake/OpenCVCompilerOptions.cmake).
44
45
# So we redefine the flags for Release instead.
45
- set (opt_flags "-Os -ggdb -mlongcalls ${assert_flags} " )
46
+ set (opt_flags "-Os ${common_flags} ${assert_flags} " )
46
47
set (opt_args -DCMAKE_BUILD_TYPE=Release
47
48
-DCMAKE_C_FLAGS_RELEASE=${opt_flags}
48
49
-DCMAKE_CXX_FLAGS_RELEASE=${opt_flags} )
49
50
elseif (COMPILER_OPTIMIZATION_PERF)
50
51
# Currently OpenCV fails to compile at -O2 level on Xtensa due to a compiler issue,
51
52
# details in https://github.com/jcmvbkbc/gcc-xtensa/issues/14.
52
53
# Compiling at -O3 happens to be okay.
53
- set (opt_flags "-O3 -ggdb -mlongcalls ${assert_flags} " )
54
+ set (opt_flags "-O3 ${common_flags} ${assert_flags} " )
54
55
set (opt_args -DCMAKE_BUILD_TYPE=Release
55
56
-DCMAKE_C_FLAGS_RELEASE=${opt_flags}
56
57
-DCMAKE_CXX_FLAGS_RELEASE=${opt_flags} )
57
58
elseif (COMPILER_OPTIMIZATION_NONE)
58
- set (opt_flags "-O0 -ggdb -mlongcalls ${assert_flags} " )
59
+ set (opt_flags "-O0 ${common_flags} ${assert_flags} " )
59
60
set (opt_args -DCMAKE_BUILD_TYPE=Debug
60
61
-DCMAKE_C_FLAGS_DEBUG=${opt_flags}
61
62
-DCMAKE_CXX_FLAGS_DEBUG=${opt_flags} )
0 commit comments