I\'m new to cmake and I\'m finding it very frustrating. I am trying to use wildcards in file paths that are evaluated when the build runs, not when the build is generated.>
Assuming that the Java wrappers are located in the current binary directory, you can use the following install
command to copy the Java files upon install:
install(
CODE "file( GLOB _GeneratedJavaSources \"${CMAKE_CURRENT_BINARY_DIR}/*.java\" )"
CODE "file( INSTALL \${_GeneratedJavaSources} DESTINATION \"$ENV{HOME}\" )"
)
The CODE
form of the install
command is used to execute two CMake commands upon running the install target. The first one collects all generated Java files in a helper variable. The second one uses the INSTALL
form of the file
command to copy the files.