In my CMakeLIsts.txt file I write this:
set(LIBHELLO_SRC hello.c)
set_target_properties(hello_static PROPERTIES OUTPUT_NAME "hello")
get_target_property(OUTPUT_VALUE hello_static OUTPUT_NAME)
message(STATUS "This is the hello_static OUTPUT_NAME:"${OUTPUT_VALUE})
When I run cmake
, it shows the error message:
set_target_properties Can not find target to add properties to: hello_static
For your code to work, hello_static
must be the name of a CMake target; something which is added via the add_executable
or add_library
commands for example.
This is unrelated to the name of your project.
It looks like you're missing something like:
add_library(hello_static ${LIBHELLO_SRC})
which would be placed immediately after
set(LIBHELLO_SRC hello.c)
Try this:
project(hello_static)
set(LIBHELLO_SRC hello.c)
add_executable(hello_static ${LIBHELLO_SRC})
set_target_properties(hello_static PROPERTIES OUTPUT_NAME "hello")
get_target_property(OUTPUT_VALUE hello_static OUTPUT_NAME)
message(STATUS "This is the hello_static OUTPUT_NAME:"${OUTPUT_VALUE})
This works for me.
But if you just want a "hello" executable. you can reduced this to:
project(hello_static)
set(LIBHELLO_SRC hello.c)
add_executable(hello ${LIBHELLO_SRC})