diff --git a/engine/CMakeLists.txt b/engine/CMakeLists.txt index b5adf53df..06c54873d 100644 --- a/engine/CMakeLists.txt +++ b/engine/CMakeLists.txt @@ -45,11 +45,29 @@ else() message(STATUS "CORTEX_CQA is OFF.") endif() +if(NOT CORTEX_CQA) + message(STATUS "Setting up optimization flags for Release builds") + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") + # Add optimization flags for GCC/Clang + add_compile_options($<$:-O3>) + add_compile_options($<$:-flto>) + add_link_options($<$:-flto>) + elseif(MSVC) + # Add optimization flags for MSVC + add_compile_options($<$:/O2>) + # Optional: Link-time optimization + add_compile_options($<$:/GL>) + add_link_options($<$:/LTCG>) + endif() +endif() + if(MSVC) add_compile_options( $<$:/MT> #---------| $<$:/MTd> #---|-- Statically link the runtime libraries $<$:/MT> #--| + $<$:/O2> #--|-- Optimize for speed in Release mode + $<$:/Ob2> #-|-- Inline any suitable function ) add_compile_options(/utf-8)