How to change the name of the output binary to not be a.out with CMake?

前端 未结 2 1496

Where would I go within CMakeLists.txt in order to change the name of the generated file?

2条回答
  •  无人及你
    2020-12-11 20:50

    For an executable target see target properties OUTPUT_NAME and SUFFIX. The actual output name if a combination of OUTPUT_NAME.SUFFIX with

    • OUTPUT_NAME defaulting to the target's name
    • SUFFIX defaulting to
      • whatever is defined in CMAKE_EXECUTABLE_SUFFIX for your platform (e.g. .exe on Windows platforms)
      • if the suffix is empty the compiler might add an extension (see Default file extension of the executable created by g++ under Cygwin vs Linux)

    So the following example would override both defaults:

    add_executable(a ...)
    set_target_properties(
        a 
        PROPERTIES 
            OUTPUT_NAME "myname"
            SUFFIX ".myext"
    )
    

    Would generate myname.myext for target a.

    For more details e.g. take a look at adding program suffix.

提交回复
热议问题