如何在cmake中使用不同的命令和.exe使用不同的命令创建目标文件

时间:2016-01-29 09:59:32

标签: c++ cmake

我想知道如何用不同的g ++命令ex:

生成目标文件
  • g ++ -pipe -D__GNUWIN32__ -c main.cpp -o main.o

使用该main.o文件需要使用不同的命令ex

生成.exe文件
  • g ++ -mwindows main.o -o main.exe 怎么做......

1 个答案:

答案 0 :(得分:0)

您应该尝试对象库目标和 set_target_properties 命令。

object library可以创建目标并编译目标文件而无需链接。

set_target_properties命令可以为目标添加特定标志。

以下是使用您的问题的一个小例子:

add_library(main_object OBJECT main.cpp)
set_target_properties(main_object PROPERTIES COMPILE_FLAGS "-pipe -D__GNUWIN32__")
add_executable(main $<TARGET_OBJECTS:main_object>)
set_target_properties(main PROPERTIES LINK_FLAGS "-mwindows")