mirror of
https://github.com/CrowCpp/Crow.git
synced 2024-06-07 21:10:44 +00:00
a88ec3bf64
* fix build: android/termux/clang-17.0 * Android build links with liblog in places * Fix clang debug build (Android and FreeBSD)
46 lines
1.1 KiB
CMake
46 lines
1.1 KiB
CMake
# Compiler options with hardening flags
|
|
|
|
function(add_warnings_optimizations target_name)
|
|
if(MSVC)
|
|
target_compile_options(${target_name}
|
|
PRIVATE
|
|
/W4
|
|
/permissive-
|
|
$<$<CONFIG:RELEASE>:/O2 /Ob2>
|
|
$<$<CONFIG:MINSIZEREL>:/O1 /Ob1>
|
|
$<$<CONFIG:RELWITHDEBINFO>:/Zi /O2 /Ob1>
|
|
$<$<CONFIG:DEBUG>:/Zi /Ob0 /Od /RTC1>
|
|
)
|
|
elseif(NOT CMAKE_COMPILER_IS_GNU<C++> AND
|
|
"${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
|
|
# clang on Android, no prof/gprof
|
|
target_compile_options(${target_name}
|
|
PRIVATE
|
|
-Wall
|
|
-Wextra
|
|
-Wpedantic
|
|
$<$<CONFIG:RELEASE>:-O2>
|
|
$<$<CONFIG:DEBUG>:-O0 -g>
|
|
)
|
|
elseif(NOT CMAKE_COMPILER_IS_GNU<C++>)
|
|
# clang, no prof
|
|
target_compile_options(${target_name}
|
|
PRIVATE
|
|
-Wall
|
|
-Wextra
|
|
-Wpedantic
|
|
$<$<CONFIG:RELEASE>:-O2>
|
|
$<$<CONFIG:DEBUG>:-O0 -g -pg>
|
|
)
|
|
else()
|
|
target_compile_options(${target_name}
|
|
PRIVATE
|
|
-Wall
|
|
-Wextra
|
|
-Wpedantic
|
|
$<$<CONFIG:RELEASE>:-O2>
|
|
$<$<CONFIG:DEBUG>:-O0 -g -p -pg>
|
|
)
|
|
endif()
|
|
endfunction()
|