I have a custom command that generates some cpp files from definitions. It goes like that;<br><br>set (TILE_INPUTS main dngn floor wall feat player gui icons)<br> foreach(tile_name ${TILE_INPUTS})<br> set(tile_txt "dc-${tile_name}.txt")<br>
add_custom_command(<br> OUTPUT "tiledef-${tile_name}.cc"<br> COMMAND tilegen ${CMAKE_CURRENT_SOURCE_DIR}/rltiles/${tile_txt}<br> DEPENDS ${tile_txt}<br> WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/rltiles<br>
)<br> list(APPEND TILEDEFINITONS "tiledef-${tile_name}.cc")<br><br> then I create the executable;<br><br> add_executable (crawl ${CRAWL_SOURCES} ${TILEDEFINITIONS})<br><br> This seems like the do the trick, problem is the generated files are in a subdirectory<br>
so at the compile phase it fails, I've gathered I need to add a custom target to accomplish<br>that (From FAQ etc) so my CMakelists.txt look like <br><br> set (TILE_INPUTS main dngn floor wall feat player gui icons)<br>
foreach(tile_name ${TILE_INPUTS})<br> set(tile_txt "dc-${tile_name}.txt")<br> add_custom_command(<br> OUTPUT "tiledef-${tile_name}.cc"<br> COMMAND tilegen ${CMAKE_CURRENT_SOURCE_DIR}/rltiles/${tile_txt}<br>
DEPENDS ${tile_txt}<br> WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/rltiles<br> )<br> list(APPEND TILEDEFINITONS "tiledef-${tile_name}.cc")<br> endforeach()<br> add_custom_target(tile_target DEPENDS ${TILEDEFINITIONS})<br>
<br><br> add_executable (crawl ${CRAWL_SOURCES})<br> add_dependencies(crawl tile_target)<br><br> I can see tile_target generated when I load the project to my ide(MSVC)<br> but rule shows as empty, Do I need to add a custom target for every file <br>
generated ? That sounds like very tedious. or Is it entirely different problem...<br> <br> Thanks in advance<br> <br><br><br><br><br> <br>