makes no-warn-rwx-segments check if compiler has the option
This commit is contained in:
		@@ -1,4 +1,6 @@
 | 
			
		||||
cmake_minimum_required(VERSION 3.21)
 | 
			
		||||
include(CheckLinkerFlag)
 | 
			
		||||
 | 
			
		||||
project(mnrs-bsp LANGUAGES ASM C)
 | 
			
		||||
set(LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/env/${BOARD}/link.lds"
 | 
			
		||||
    CACHE FILEPATH "Linker script to use for BSP linking")
 | 
			
		||||
@@ -30,7 +32,13 @@ add_subdirectory(libwrap)
 | 
			
		||||
add_library(bsp STATIC env/${BOARD}/init.c)
 | 
			
		||||
target_link_libraries(bsp PUBLIC startup wrap)
 | 
			
		||||
target_include_directories(bsp PUBLIC env/${BOARD})
 | 
			
		||||
target_link_options(bsp INTERFACE LINKER:--no-warn-rwx-segments -nostartfiles -T ${LINKER_SCRIPT})
 | 
			
		||||
 | 
			
		||||
check_linker_flag(C "LINKER:--no-warn-rwx-segments" HAS_NO_WARN_RWX_SEGMENTS)
 | 
			
		||||
 | 
			
		||||
if(HAS_NO_WARN_RWX_SEGMENTS)
 | 
			
		||||
    target_link_options(bsp INTERFACE LINKER:--no-warn-rwx-segments)
 | 
			
		||||
endif()
 | 
			
		||||
target_link_options(bsp INTERFACE LINKER: -nostartfiles -T ${LINKER_SCRIPT})
 | 
			
		||||
 | 
			
		||||
if(SEMIHOSTING)
 | 
			
		||||
    target_include_directories(bsp INTERFACE include)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user