Is there any way that I can make the files webpack compiles into dependencies for the Webpack task? So that any changes to those are picked up for recompilation? No worries if not, I just thought it would be nice.
On 25 January 2017 at 07:19, doug livesey <biot...@gmail.com> wrote: > Perfect, thankyou so much! > That nailed it! > > On 24 January 2017 at 20:52, Michael Ellery <mellery...@gmail.com> wrote: > >> The syntax of your add_custom_target is not quite right…I would try >> something more like: >> >> add_custom_target( Webpack ALL >> $WEBPACK >> DEPENDS webpack.config.js >> BYPRODUCTS public/bundle.js >> ) >> >> …that’s untested, of course. I you do that, then I think you don’t need >> the add_custom_command at all….but you will still want to make some of your >> other targets depend on this target if they need bundle.js before they run. >> >> > On Jan 24, 2017, at 11:34 AM, doug livesey <biot...@gmail.com> wrote: >> > >> > Hi -- sorry about the really late reply, I've been away. Up to >> Hadrian's Wall, and then for a Dark Skies observatory evening. >> > It was ace. :) >> > I've added the following to my CMakeLists.txt file: >> > >> > > set(WEBPACK ${CMAKE_SOURCE_DIR}/node_modules/.bin/webpack) >> > > configure_file(webpack.config.js webpack.config.js) >> > > add_custom_target(public/bundle.js) >> > > add_custom_command(OUTPUT public/bundle.js COMMAND ${WEBPACK}) >> > >> > However, when I try to run `cmake ..` (I'm using a build subdirectory), >> I get the following error: >> > >> > > CMake Error at CMakeLists.txt:30 (add_custom_target): >> > > add_custom_target called with invalid target name >> "public/bundle.js". >> > > Target names may not contain a slash. Use ADD_CUSTOM_COMMAND to >> generate >> > > files. >> > >> > I'm guessing that this means that I should be running some of those >> commands in a CMakeLists.txt file in a subdirectory (maybe public/) and >> calling `add_subdirectory(public)` from my top-level file? >> > I've tried this a couple of ways, but so far haven't got it working. >> > Am I on the right sort of approach, or have I wandered far from the >> beaten track? >> > Thanks again for your help, >> > Doug. >> > >> > On 22 January 2017 at 00:16, Michael Ellery <mellery...@gmail.com> >> wrote: >> > add_custom_command is the probably the right thing…but it needs to be >> triggered by a dependency relationship. You will specify public/bundle.js >> as the OUTPUT parameter of the add_custom_command and then some other >> target or install command needs to have that file listed in its sources, >> and then CMAKE will understand that it needs to run the custom command to >> generate that OUTPUT file before it runs the dependent target. I think >> add_custom_command can also be explicitly linked to a specific target >> (there are two forms of the command) - and in that case I think it always >> runs (?) when that target rebuilds…I’m not completely sure about that, so >> you might need to test. >> > >> > Alternatively, if you want to run the generation at the time of >> makefile generation (when CMAKE is run…), then have a look at >> execute_process. The downside of that is that it will generally always run >> when CMAKE is run, but never during the make process so it doesn’t really >> handle updates to the source (input) files very well. I’m not sure which >> technique applies best to your situation here. >> > >> > HTH, >> > Mike >> > >> > > On Jan 21, 2017, at 4:01 PM, doug livesey <biot...@gmail.com> wrote: >> > > >> > > Hi, I want to call the following command as part of a build: >> > > >> > > $ ./node_modules/.bin/webpack >> > > >> > > This should generate a file public/bundle.js >> > > >> > > I'm really struggling with this. I guess there's something >> fundamental that I'm not understanding. `add_custom_command` doesn't seem >> to be doing anything. >> > > I would anticipate that it would put the command I want to call in >> the makefile, but it hasn't. >> > > If anyone could advise me on what I'm not getting here, that would be >> brilliant. >> > > Cheers, >> > > Doug. >> > > -- >> > > >> > > Powered by www.kitware.com >> > > >> > > Please keep messages on-topic and check the CMake FAQ at: >> http://www.cmake.org/Wiki/CMake_FAQ >> > > >> > > Kitware offers various services to support the CMake community. For >> more information on each offering, please visit: >> > > >> > > CMake Support: http://cmake.org/cmake/help/support.html >> > > CMake Consulting: http://cmake.org/cmake/help/consulting.html >> > > CMake Training Courses: http://cmake.org/cmake/help/training.html >> > > >> > > Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> > > >> > > Follow this link to subscribe/unsubscribe: >> > > http://public.kitware.com/mailman/listinfo/cmake >> > >> > >> >> >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake