Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CMake: How to add dependency on linker script for executable

Tags:

cmake

I have a CMake script where the final executable is linked with my own linker script:

cmake_minimum_required(VERSION 3.1)

project(test_app)

set(LINKER_SCRIPT "linker.ld")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T ${LINKER_SCRIPT}")

add_executable(${PROJECT_NAME}.elf
    main.cpp
    startup.cpp
)

How do I make an executable dependent also on the linker script file (trigger linking if linker.ld was changed)?

like image 480
vlk Avatar asked Sep 30 '15 11:09

vlk


1 Answers

You can add a LINK_DEPENDS property to your executable target, using set_target_properties. Add the following line after your add_executable command:

set_target_properties(${TARGET_NAME} PROPERTIES LINK_DEPENDS ${LINKER_SCRIPT})

The first argument to set_target_properties is the target name, i.e. the first argument you passed to add_executable.

like image 129
Samuel Peter Avatar answered Oct 05 '22 04:10

Samuel Peter