From 22bca5c2a05725669e838dffced5f4a7785ac816 Mon Sep 17 00:00:00 2001 From: aris-kimi Date: Thu, 23 Feb 2023 00:17:51 +0200 Subject: [PATCH] Disable link maps by default and fix compile issue with lld linker The link maps were actually disabled by default before 912f1d5cecdc7d14df09d7e9a78e0aa75760b75d, and required KICAD_MAKE_LINK_MAPS to be provided to enable them. So switch back to disabling them by default. Also, The lld linker is unable to accept a single dash cref option, while ld and gold can. Instead, use the double dash version that is supported by all three. xref: https://github.com/llvm/llvm-project/issues/60932 Co-authored-by: aris-kimi Co-authored-by: Ian McInerney --- CMakeLists.txt | 2 +- bitmap2component/CMakeLists.txt | 2 +- cvpcb/CMakeLists.txt | 2 +- eeschema/CMakeLists.txt | 4 ++-- gerbview/CMakeLists.txt | 4 ++-- pagelayout_editor/CMakeLists.txt | 4 ++-- pcb_calculator/CMakeLists.txt | 4 ++-- pcbnew/CMakeLists.txt | 4 ++-- scripting/CMakeLists.txt | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index de29733727..2b507cb6b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -189,7 +189,7 @@ cmake_dependent_option( KICAD_WIN32_BUILD_PARALLEL_CL_MP # Advanced option to make link maps (only available on linux) cmake_dependent_option( KICAD_MAKE_LINK_MAPS "Create link maps for artifacts" - ON "UNIX_NOT_APPLE" + OFF "UNIX_NOT_APPLE" OFF ) mark_as_advanced( KICAD_MAKE_LINK_MAPS ) diff --git a/bitmap2component/CMakeLists.txt b/bitmap2component/CMakeLists.txt index 84bddc6103..232a7f5868 100644 --- a/bitmap2component/CMakeLists.txt +++ b/bitmap2component/CMakeLists.txt @@ -94,6 +94,6 @@ endif() if( false ) # linker map with cross reference set_target_properties( bitmap2component PROPERTIES - LINK_FLAGS "-Wl,-cref,-Map=bitmap2component.map" + LINK_FLAGS "-Wl,--cref,-Map=bitmap2component.map" ) endif() diff --git a/cvpcb/CMakeLists.txt b/cvpcb/CMakeLists.txt index 7d1fad90d4..3e22871203 100644 --- a/cvpcb/CMakeLists.txt +++ b/cvpcb/CMakeLists.txt @@ -93,7 +93,7 @@ set_source_files_properties( cvpcb.cpp PROPERTIES ) target_link_options( cvpcb_kiface PRIVATE - $<$:-Wl,-cref,-Map=_cvpcb.kiface.map> + $<$:-Wl,--cref,-Map=_cvpcb.kiface.map> ) # these 2 binaries are a matched set, keep them together: diff --git a/eeschema/CMakeLists.txt b/eeschema/CMakeLists.txt index 04a70ee6f3..362f0ba709 100644 --- a/eeschema/CMakeLists.txt +++ b/eeschema/CMakeLists.txt @@ -527,10 +527,10 @@ add_dependencies( eeschema eeschema_kiface ) # Generate link map with cross reference target_link_options( eeschema_kiface PRIVATE - $<$:-Wl,-cref,-Map=${KIFACE_PREFIX}eeschema${KIFACE_SUFFIX}.map> + $<$:-Wl,--cref,-Map=${KIFACE_PREFIX}eeschema${KIFACE_SUFFIX}.map> ) target_link_options( eeschema PRIVATE - $<$:-Wl,-cref,-Map=eeschema.map> + $<$:-Wl,--cref,-Map=eeschema.map> ) # these 2 binaries are a matched set, keep them together: diff --git a/gerbview/CMakeLists.txt b/gerbview/CMakeLists.txt index f42b163bd8..0ba674ff61 100644 --- a/gerbview/CMakeLists.txt +++ b/gerbview/CMakeLists.txt @@ -121,7 +121,7 @@ target_include_directories( gerbview PRIVATE ) target_link_options( gerbview PRIVATE - $<$:-Wl,-cref,-Map=gerbview.map> + $<$:-Wl,--cref,-Map=gerbview.map> ) # The objects for the main gerbview program @@ -163,7 +163,7 @@ set_source_files_properties( gerbview.cpp PROPERTIES ) target_link_options( gerbview_kiface PRIVATE - $<$:-Wl,-cref,-Map=_gerbview.kiface.map> + $<$:-Wl,--cref,-Map=_gerbview.kiface.map> ) # if building gerbview, then also build gerbview_kiface if out of date. diff --git a/pagelayout_editor/CMakeLists.txt b/pagelayout_editor/CMakeLists.txt index 1b4fe6f3c9..95a92fe22c 100644 --- a/pagelayout_editor/CMakeLists.txt +++ b/pagelayout_editor/CMakeLists.txt @@ -89,7 +89,7 @@ target_link_libraries( pl_editor ) target_link_options( pl_editor PRIVATE - $<$:-Wl,-cref,-Map=pl_editor.map> + $<$:-Wl,--cref,-Map=pl_editor.map> ) # the main pl_editor program, in DSO form. @@ -120,7 +120,7 @@ set_source_files_properties( pl_editor.cpp PROPERTIES ) target_link_options( pl_editor_kiface PRIVATE - $<$:-Wl,-cref,-Map=_pl_editor.kiface.map> + $<$:-Wl,--cref,-Map=_pl_editor.kiface.map> ) # if building pl_editor, then also build pl_editor_kiface if out of date. diff --git a/pcb_calculator/CMakeLists.txt b/pcb_calculator/CMakeLists.txt index 11dddae961..119e96914b 100644 --- a/pcb_calculator/CMakeLists.txt +++ b/pcb_calculator/CMakeLists.txt @@ -93,7 +93,7 @@ target_link_libraries( pcb_calculator ) target_link_options( pcb_calculator PRIVATE - $<$:-Wl,-cref,-Map=pcb_calculator.map> + $<$:-Wl,--cref,-Map=pcb_calculator.map> ) # the main pcb_calculator program, in DSO form. @@ -118,7 +118,7 @@ set_source_files_properties( pcb_calculator.cpp PROPERTIES ) target_link_options( pcb_calculator_kiface PRIVATE - $<$:-Wl,-cref,-Map=_pcb_calculator.kiface.map> + $<$:-Wl,--cref,-Map=_pcb_calculator.kiface.map> ) # if building pcb_calculator, then also build pcb_calculator_kiface if out of date. diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index 46bbc3ff62..27344e192b 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -604,7 +604,7 @@ target_link_libraries( pcbnew ) target_link_options( pcbnew PRIVATE - $<$:-Wl,-cref,-Map=pcbnew.map> + $<$:-Wl,--cref,-Map=pcbnew.map> ) # the main pcbnew program, in DSO form. @@ -697,7 +697,7 @@ set_source_files_properties( pcbnew.cpp PROPERTIES ) target_link_options( pcbnew_kiface PRIVATE - $<$:-Wl,-cref,-Map=_pcbnew.kiface.map> + $<$:-Wl,--cref,-Map=_pcbnew.kiface.map> ) # if building pcbnew, then also build pcbnew_kiface if out of date. diff --git a/scripting/CMakeLists.txt b/scripting/CMakeLists.txt index 02760e9344..395ffec826 100644 --- a/scripting/CMakeLists.txt +++ b/scripting/CMakeLists.txt @@ -62,7 +62,7 @@ set_target_properties( scripting_kiface PROPERTIES ) target_link_options( scripting_kiface PRIVATE - $<$:-Wl,-cref,-Map=_scripting.kiface.map> + $<$:-Wl,--cref,-Map=_scripting.kiface.map> ) if( APPLE )