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

前端 未结 2 1494

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.

    0 讨论(0)
  • 2020-12-11 20:54

    Here's a simple CMakeLists.txt

    cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
    project(demo)
    
    add_executable(hello hello.cpp)
    

    This CMakeLists.txt compiles a hello.cpp file to an executable named hello. You can name the executable anything by using the add_executable statement.

    add_executable(<executable-name> <source1> <source2> ...)
    
    0 讨论(0)
提交回复
热议问题