mirror of
https://github.com/curl/curl.git
synced 2026-04-15 01:01:41 +03:00
cmake: allow CURL_LTO regardless of CURL_BUILD_TYPE, enable in CI
Before this patch `CURL_LTO` only applied to builds explicitly
configured for `Release` or `RelWithDebInfo` via `CURL_BUILD_TYPE`.
After this patch it enables LTO regardess of build type.
Also:
- GHA/linux: enable LTO in an existing job.
Follow-up to 4ccf7622db #4799
Closes #15829
This commit is contained in:
parent
98f419172b
commit
a1eaa12a83
3 changed files with 6 additions and 14 deletions
4
.github/workflows/linux.yml
vendored
4
.github/workflows/linux.yml
vendored
|
|
@ -169,10 +169,10 @@ jobs:
|
|||
install_packages: zlib1g-dev libkrb5-dev clang
|
||||
configure: CC=clang --with-openssl --with-gssapi --enable-debug --disable-docs --disable-manual
|
||||
|
||||
- name: openssl clang krb5
|
||||
- name: openssl clang krb5 LTO
|
||||
install_packages: zlib1g-dev libkrb5-dev clang
|
||||
install_steps: skipall
|
||||
generate: -DCURL_USE_OPENSSL=ON -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON
|
||||
generate: -DCURL_USE_OPENSSL=ON -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON -DCURL_LTO=ON
|
||||
|
||||
- name: openssl !ipv6
|
||||
configure: --with-openssl --disable-ipv6 --enable-debug --disable-unity
|
||||
|
|
|
|||
|
|
@ -105,9 +105,7 @@ if(SHARE_LIB_OBJECT)
|
|||
set_property(TARGET ${LIB_OBJECT} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_HIDDEN_SYMBOLS")
|
||||
endif()
|
||||
if(CURL_HAS_LTO)
|
||||
set_target_properties(${LIB_OBJECT} PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE)
|
||||
set_target_properties(${LIB_OBJECT} PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
endif()
|
||||
|
||||
target_include_directories(${LIB_OBJECT} INTERFACE
|
||||
|
|
@ -138,9 +136,7 @@ if(BUILD_STATIC_LIBS)
|
|||
set_property(TARGET ${LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_HIDDEN_SYMBOLS")
|
||||
endif()
|
||||
if(CURL_HAS_LTO)
|
||||
set_target_properties(${LIB_STATIC} PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE)
|
||||
set_target_properties(${LIB_STATIC} PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
endif()
|
||||
|
||||
target_include_directories(${LIB_STATIC} INTERFACE
|
||||
|
|
@ -177,9 +173,7 @@ if(BUILD_SHARED_LIBS)
|
|||
set_property(TARGET ${LIB_SHARED} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_HIDDEN_SYMBOLS")
|
||||
endif()
|
||||
if(CURL_HAS_LTO)
|
||||
set_target_properties(${LIB_SHARED} PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE)
|
||||
set_target_properties(${LIB_SHARED} PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
endif()
|
||||
|
||||
target_include_directories(${LIB_SHARED} INTERFACE
|
||||
|
|
|
|||
|
|
@ -104,9 +104,7 @@ target_compile_definitions(curltool PUBLIC "UNITTESTS" "CURL_STATICLIB")
|
|||
target_link_libraries(curltool PRIVATE ${CURL_LIBS})
|
||||
|
||||
if(CURL_HAS_LTO)
|
||||
set_target_properties(${EXE_NAME} PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE)
|
||||
set_target_properties(${EXE_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
endif()
|
||||
|
||||
if(ENABLE_UNICODE AND MINGW)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue