Hi,

in my project there is a subfolder which SHALL contain sources to generate a library. The problem is that at startup of the project there are no source files existing, because they will be generated by a code generator. This means within the build process the code generator needs to be called first, then generates the output files in the subfolder and then a library shall be generated from that source files (this are standard .c and .h files). If I start the code generator by hand to generate the source files and remove the custom command, then the compilation is successful, but I want the code generator to be started every time the configuration file for the code generator has changed.

In my sample below
* the driver.c would be one of the files which the code generator would generate
* the variable CodeGen is the executable tool (the code generator himself)
* the variable CodeGenParam contains the parameters which are passed to be able to generate without any user interaction
* the variable CodeGenConfig is the input file for the code generator

This subfolder contains its own CMakeLists.txt with the following settings:
##################### snip #####################
project(CANstack C)

add_custom_command( OUTPUT driver.c
COMMAND ${CodeGen} ${CodeGenParam}
                                           DEPENDS ${CodeGenConfig} )
)

file(GLOB CANstack_srcs "*.c")
file(GLOB CANstack_hdrs "*.h")

set(lib_name "CANstack")
add_library(${lib_name} STATIC ${CANstack_srcs} ${CANstack_hdrs})

##################### snap #####################

I don't get it work that the custom command is called and the source files from the code generator are produced.

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to