mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 12:23:37 -05:00
Minimize Releaase Executable Sizes.
Use the data-sections and function-sections gcc/g++ compiler options to create sections for each function and data item then use gc-sections in the link to discard all unreferenced sections. This has most benefit if the hamlib library we statically link is also compiled with data-sections and function-sections. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4351 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
30b50ff9e2
commit
d30cbe4591
@ -395,7 +395,13 @@ endif (APPLE)
|
|||||||
# C & C++ setup
|
# C & C++ setup
|
||||||
#
|
#
|
||||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra")
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra")
|
||||||
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fdata-sections -ffunction-sections")
|
||||||
|
set (CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -fdata-sections -ffunction-sections")
|
||||||
|
|
||||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -std=c++11 -fexceptions -frtti")
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -std=c++11 -fexceptions -frtti")
|
||||||
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fdata-sections -ffunction-sections")
|
||||||
|
set (CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -fdata-sections -ffunction-sections")
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-keep-inline-dllexport")
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-keep-inline-dllexport")
|
||||||
endif (WIN32)
|
endif (WIN32)
|
||||||
@ -436,6 +442,13 @@ else (Fortran_COMPILER_NAME MATCHES "gfortran.*")
|
|||||||
endif (Fortran_COMPILER_NAME MATCHES "gfortran.*")
|
endif (Fortran_COMPILER_NAME MATCHES "gfortran.*")
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Linker setup
|
||||||
|
#
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Wl,--gc-sections")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} -Wl,--gc-sections")
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# setup and test Fortran C/C++ interaction
|
# setup and test Fortran C/C++ interaction
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user