如果这听起来有些琐碎,我对此深表歉意。我是使用CMake和CPack的新手。

我目前正在尝试将自己的编译器作为辅助项目构建,并且我想测试CPack如何安装我的项目。

这是我在项目文件夹根目录下的CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.15)
project(Simple-C-Compiler VERSION 0.01)

set(CMAKE_CXX_STANDARD 20)

set(COMPILER_VERSION ${PROJECT_VERSION})

add_library(include INTERFACE)
target_include_directories(include INTERFACE include/)

add_subdirectory(lib)
add_subdirectory(phases)
add_subdirectory(compiler)
add_subdirectory(tests)

target_link_libraries(compiler lexer)
target_link_libraries(tester lexer)

add_compile_options(-Wall)

install(TARGETS compiler DESTINATION bin)
set(CPACK_PACKAGE_EXECUTABLES "compiler" "Simple-C")
include(CPack)

当我尝试安装编译器时,请执行以下操作:
mkdir build
cd build
cmake ../
make install

我得到以下输出:
[ 22%] Built target lib
[ 55%] Built target lexer
[ 77%] Built target compiler
[100%] Built target tester
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/compiler

CPack将我的编译器安装为“编译器”而不是“Simple-C”。我希望安装的可执行文件的名称为“Simple-C”。如何在CMakeLists.txt文件中执行此操作?

最佳答案

您可以使用以下命令更改目标名称:

set_target_properties(compiler PROPERTIES OUTPUT_NAME Simple-C)

必须在add_subdirectory(compiler)之后调用

附带说明一下,您提到的命令没有调用cpack。为了调用cpack,您需要运行cpack command

08-20 00:31