@@ -23,25 +23,27 @@ if(MSVC)
2323 add_compile_definitions ("_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR" )
2424
2525 set (release_link_options "/OPT:REF;/OPT:ICF" )
26- add_link_options ("$<$<CONFIG :Release >:${release_link_options} >" )
27- SET (CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO "RelWithDebInfo;Release;" )
28- SET (CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL "MinSizeRel;Release;" )
26+ add_link_options ("$<$<OR :$< CONFIG :Release >,$< CONFIG : RelWithDebInfo > >:${release_link_options} >" )
27+ set (CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO "RelWithDebInfo;Release;" )
28+ set (CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL "MinSizeRel;Release;" )
2929 set (CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG :Debug >:Debug >DLL" )
3030else ()
3131 add_compile_options ("-Wall;-Werror;-Wextra;-Wpedantic;-Wno-missing-field-initializers" )
3232
3333 if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13)
3434 add_compile_options ("-Wno-restrict" )
3535 endif ()
36+ add_compile_options ("$<$<OR :$<CONFIG :Release >,$<CONFIG :RelWithDebInfo >>:-flto =thin >" )
37+ add_link_options ("$<$<OR :$<CONFIG :Release >,$<CONFIG :RelWithDebInfo >>:-flto =thin >" )
3638endif ()
3739
3840if (LINUX AND WITH_RPATH_LIBRARY)
3941 function (copy_and_add_rpath_library LIBNAME )
4042 execute_process (
41- COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=${LIBNAME}.so.1 -target ${CMAKE_CXX_COMPILER_TARGET} --sysroot=${CMAKE_SYSROOT}
43+ COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=${LIBNAME}.so.1 -target ${CMAKE_CXX_COMPILER_TARGET}
44+ --sysroot=${CMAKE_SYSROOT}
4245 OUTPUT_VARIABLE LIB_PATH
43- OUTPUT_STRIP_TRAILING_WHITESPACE
44- )
46+ OUTPUT_STRIP_TRAILING_WHITESPACE )
4547
4648 if ("${LIB_PATH} " STREQUAL "${LIBNAME} .so.1" )
4749 message (FATAL_ERROR "Could not locate ${LIBNAME} .so.1 using compiler" )
@@ -63,11 +65,16 @@ if(LINUX AND WITH_RPATH_LIBRARY)
6365
6466 message (STATUS "${LIBNAME} .so.1 path: ${LIB_PATH_REAL} " )
6567
66- install (FILES "${LIB_PATH_REAL} " DESTINATION ${RPATH_LIBRARY_INSTALL_DIR} RENAME "${LIBNAME} .so.1" )
68+ install (
69+ FILES "${LIB_PATH_REAL} "
70+ DESTINATION ${RPATH_LIBRARY_INSTALL_DIR}
71+ RENAME "${LIBNAME} .so.1" )
6772
6873 get_filename_component (LIB_PATH_DIR "${LIB_PATH_REAL} " DIRECTORY )
6974 list (APPEND CMAKE_BUILD_RPATH "${LIB_PATH_DIR} " )
70- set (CMAKE_BUILD_RPATH "${CMAKE_BUILD_RPATH} " PARENT_SCOPE )
75+ set (CMAKE_BUILD_RPATH
76+ "${CMAKE_BUILD_RPATH} "
77+ PARENT_SCOPE )
7178 endfunction ()
7279
7380 copy_and_add_rpath_library (libc++ )
0 commit comments