12

How to execute a shell script using CMake? The command that should be run is my_script that should be executed after build. The CMakeLists.txt

cmake_minimum_required(VERSION 3.0)

project(abc)

include_directories("/usr/lib/avr/include")

set(CMAKE_CURRENT_SOURCE_DIR /home/user/Desktop)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmcu=atmega8")
set(SOURCE_FILES main.c)

add_executable(abc ${SOURCE_FILES})

#not working ----->
add_custom_command(TARGET abc
        POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E my_script
        )

DISCLAIMER

Yes, there are similar questions in SO here, here, here, etc; however, they don't give me a clear vision how this can be achieved.

Community
  • 1
  • 1
sitilge
  • 3,687
  • 4
  • 30
  • 56

1 Answers1

22

You are invoking CMake with it's command-line tool mode which doesn't execute generic scripts or commands.

Instead do e.g.

add_custom_command(TARGET abc
        POST_BUILD
        COMMAND /bin/sh /path/to/my_script
        )
starball
  • 20,030
  • 7
  • 43
  • 238
Some programmer dude
  • 400,186
  • 35
  • 402
  • 621