我对 Cmake 很陌生,需要在编译时生成一些文件。一旦生成,我需要编译和链接文件。我已经创建了 cmake makefile 来编译已经生成的文件,例如
cmake_minimum_required(VERSION 2.6)
project(demo)
set(CMAKE_CXX_FLAGS "-DWITH_COOKIES")
add_library(soapC soapC.cpp soapVimBindingProxy.cpp)
add_library(stdsoap2 /home/abdullah/installs/gsoap-shah_edits/gsoap/stdsoap2.cpp)
add_executable(demo test_file.cc test_app.cc)
target_link_libraries(demo soapC stdsoap2 gsoap++)
这样就成功编译了项目。但是soapC.cpp soapVimBindingProxy.cpp
需要先生成文件。我想在运行时使用 gsoap 工具生成这些文件。
以下是生成头文件需要运行的命令
wsdl2h -o outfile.h infile.wsdl
这需要一个输入 wsdl 文件并创建一个相应的 outfile.h。现在我尝试像这样在cmake中这样做
cmake_minimum_required(VERSION 2.6)
add_custom_command(
OUTPUT vsphere.h
COMMAND wsdl2h -o vsphere.h vim25/vim.wsdl
)
但是这里出了点问题。没有错误弹出,但也没有创建文件。我错过了什么吗?非常感谢所有帮助。谢谢。