On second thought I think I realize the problem here... I'm not specifying the OUTPUT file as a dependency in add_library(), I'm only specifying the SOURCE file (listed under DEPENDS in the custom command call) as the source in add_library(). The output file is temporary, I don't actually want to depend on that- - only the source.
On Tue, Mar 12, 2013 at 3:58 PM, Robert Dailey <[email protected]> wrote: > I'm adding a custom command to a target created via add_library(). > here is the function I call to create the custom command: > > > function( define_data target_name output_subdir ) > set( data_files ${ARGN} ) > set( output_dir ${CMAKE_BINARY_DIR}/output/data/${output_subdir} ) > set( copycmd ${CMAKE_COMMAND} -E copy ) > > foreach( d ${data_files} ) > #get_filename_component( file ${d} NAME ) > #set( output_file ${output_dir}/${d} ) > #set( source_file ${CMAKE_CURRENT_SOURCE_DIR}/${d} ) > set( output_file ${output_dir}/${d} ) > set( source_file ${d} ) > > list( APPEND output_files ${output_file} ) > list( APPEND copy_commands > COMMAND ${copycmd} ${source_file} ${output_file} > ) > endforeach() > > source_group( data FILES ${data_files} ) > > add_custom_command( > COMMENT "Copying data for target ${target_name}" > OUTPUT ${output_files} > DEPENDS ${data_files} > ${copy_commands} > ) > > #add_dependencies( ${target_name} ${data_target} ) > endfunction() > > I call this function FIRST, then afterwards I call add_library() and I > include the data file(s) passed in as a source file to be included in > the target. When I build that target in VS2008 I do not see any files > copied to my output/data directory (which does not yet exist on my > hard drive). Any idea what I'm doing wrong? > > How are relative/absolute paths handled here? I'm passing in relative > paths (just the filename for current source directory) into DEPENDS. -- 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
