Sorry to keep bothering you guys... Our problem now is that resource files could have the same names in different folders. The ADD_CUSTOM_COMMAND seems to create a rule "identifier" based on the name of the resource file relative to the CMakeFiles directory. But we have a "saveloadicon.png" in /images and a "saveloadicon.png" in /textures, both trying to add a rule resulting in a conflict:
CMake Error: Attempt to add a custom rule to output "C:/development/build/DEBUGBULLET/StyleClash//CMakeFiles/saveloadicon.png.ru le" which already has a custom rule. Is there a way to influence this rule identifier? This is the ADD_CUSTOM_COMMAND we're using: ADD_CUSTOM_COMMAND(OUTPUT "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${RSRC_FILE_NO_PATH}" COMMAND ${CMAKE_COMMAND} -E copy_if_different ${RSRC_FILE} ${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${RSRC_FILE_NO_PATH} DEPENDS "${RSRC_FILE}" ) Thanks, Daniel -----Oorspronkelijk bericht----- Van: Petr Kmoch [mailto:petr.km...@gmail.com] Verzonden: woensdag 13 juni 2012 14:36 Aan: Daniel Dekkers CC: Tim Hutton; J; cmake@cmake.org Onderwerp: Re: [CMake] Adding "*.obj" geometry files... You could use solution filters to put all the copy targets into one folder: set_property(GLOBAL PROPERTY USE_FOLDERS TRUE) set_property(TARGET ${RESOURCESCOPYTARGET} PROPERTY FOLDER "Copy Projects") #for each resource copy target Petr On Wed, Jun 13, 2012 at 2:26 PM, Daniel Dekkers <d.dekk...@cthrough.nl> wrote: > Hi Tim, > > That works. In our case we get: > > # Additional dedicated "copy-the-resource-files-for-this-app"-target > strategy. > # Copies resource files to the build directory, triggered by a file > change in one of them. > IF( RT_ALL_RSRC_FILES ) > SET( RESOURCESCOPYTARGET "Copy${RT_APP_NAME}Resources" ) > FOREACH( RSRC_FILE ${RT_ALL_RSRC_FILES} ) > GET_FILENAME_COMPONENT(RSRC_FILE_NO_PATH ${RSRC_FILE} > NAME) > ADD_CUSTOM_COMMAND( > OUTPUT > "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${RSRC_FILE_NO_PATH}" > COMMAND ${CMAKE_COMMAND} -E copy_if_different > ${RSRC_FILE} > ${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${RSRC_FILE_NO_PATH} > DEPENDS "${RSRC_FILE}" > ) > LIST( APPEND DEPENDENT_RSRC_FILES > "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${RSRC_FILE_NO_PATH}" ) > ENDFOREACH() > ADD_CUSTOM_TARGET( ${RESOURCESCOPYTARGET} ALL DEPENDS > ${DEPENDENT_RSRC_FILES} ) > ADD_DEPENDENCIES(${RT_APP_NAME} ${RESOURCESCOPYTARGET}) > ENDIF() > > Only "problem" are the extra targets shown in the IDE. A bit "cluttery". > We have anywhere between 1 or 10 executables in a single solution and > they all get their own additional CopyResources target. > But, ok... > > Thanks! > Daniel > > > > -----Oorspronkelijk bericht----- > Van: Tim Hutton [mailto:tim.hut...@gmail.com] > Verzonden: woensdag 13 juni 2012 12:42 > Aan: Daniel Dekkers > CC: Petr Kmoch; cmake@cmake.org; Bill Hoffman > Onderwerp: Re: [CMake] Adding "*.obj" geometry files... > > You can group all the files to be copied into a single subproject. > > We do this here: > http://reaction-diffusion.googlecode.com/svn/trunk/Ready/CMakeLists.tx > t (see the section "copy installation files to build folder") > > On 13 June 2012 11:13, Daniel Dekkers <d.dekk...@cthrough.nl> wrote: >> Somewhat related... >> >> We now have the resources excluded from the build but visible in the >> IDE. So far so good. >> But we also want to copy them (all) to the build directory. >> We have a post build command that does that. >> But if you only change the contents of one of the resource files, a >> rebuild is not invoked (exclude from build) and so the files are not > copied. >> For another project we made specific targets (ADD_CUSTOM_TARGET) just >> to handle the copying but that gives a lot of extra subprojects in >> the > IDE. >> Is there another way to achieve this? >> >> Thanks, >> Daniel >> >> -----Oorspronkelijk bericht----- >> Van: Petr Kmoch [mailto:petr.km...@gmail.com] >> Verzonden: woensdag 13 juni 2012 8:10 >> Aan: Daniel Dekkers >> CC: Bill Hoffman; cmake@cmake.org >> Onderwerp: Re: [CMake] Adding "*.obj" geometry files... >> >> Hi Daniel. >> >> Yes, that's how Visual Studio shows excluded files. If you exclude a >> file by setting its "Excluded from build" property manually, you get >> the > same. >> >> Petr >> >> On Tue, Jun 12, 2012 at 8:31 PM, Daniel Dekkers >> <d.dekk...@cthrough.nl> >> wrote: >>> Ok, great, works. >>> So I guess the little red stop-sign icons shown by Visual Studio >>> denote that these files are excluded from the build? >>> >>> Thanks, >>> Daniel >>> >>> >>> -----Oorspronkelijk bericht----- >>> Van: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] Namens >>> Bill Hoffman >>> Verzonden: dinsdag 12 juni 2012 19:41 >>> Aan: cmake@cmake.org >>> Onderwerp: Re: [CMake] Adding "*.obj" geometry files... >>> >>> On 6/12/2012 1:10 PM, Daniel Dekkers wrote: >>>> Hi, >>>> >>>> We are adding some resource files (XML files, shaders, etc.) to a >>>> Visual Studio project just to make them visible and accessible in >>>> the >> IDE. >>>> >>>> We also add geometry files with the extension "obj". Visual Studio >>>> treats these as regular object files and starts using them during >>>> the >>> build. >>>> >>>> Is there a way that we can "label" these obj files so Visual Studio >>>> leaves them alone? >>>> >>>> Kind Regards, >>>> >>>> Daniel Dekkers >>>> >>> Mark them as HEADER_FILE_ONLY . >>> >>> >>> http://www.cmake.org/cmake/help/v2.8.8/cmake.html#prop_sf:HEADER_FIL >>> E >>> _ >>> ONLY >>> >>> -- >>> >>> 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 >>> >>> -- >>> >>> 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 >> >> -- >> >> 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 > > > > -- > Tim Hutton - http://www.sq3.org.uk - > http://profiles.google.com/tim.hutton/ > > -- > > 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 -- 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