I assume you actually meant 'cmake --build . --target example_dir', the name of the directory. 'examples' is the name of the custom target; if that target's command was to build itself, I believe it would become a fork bomb.
Anyway, I tried it with the directory name, it doesn't work. I'm generating with VS2008, and devenv was complaining about "Invalid project." Which kind of makes sense, there is no 'example_dir' project in the solution. On Fri, Dec 5, 2014 at 2:59 PM, David Cole <dlrd...@aol.com> wrote: > Try: > > cmake --build . --target examples > > (where "." represents the current working directory, and assumes > you're in the top level build tree...) > > > On Fri, Dec 5, 2014 at 5:46 AM, Petr Kmoch <petr.km...@gmail.com> wrote: > > Hi all. > > > > I'm converting a small Makefile-based project to CMake. The project is > not > > mine, so I am trying to match its existing buildsystem as closely as > > possible. > > > > One of the rules in the original Makefile is (simplified) as follows: > > > > examples: all > > make -C example_dir all > > > > This gives a target 'examples' in the top-level Makefile, which is not > > included in 'all', but can be used to build all examples. I would like to > > achieve something similar with CMake. > > > > I added example_dir/CMakeLists.txt, which includes a project() command > and > > defines all the targets for example executables. In the toplevel > CMakeList, > > I did this: > > > > # Add the subdirectory but don't include its targets by default > > add_subdirectory(example_dir EXCLUDE_FROM_ALL) > > > > # Add a custom target to build all examples > > add_custom_target(examples ???) > > > > I'm stuck at the custom target. What I need for its command is a > > generator-agnostic equivalent for 'make -C example_dir all' (or 'make -f > > example_dir/Makefile all'). > > > > I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...', but > > this complains that example_dir does not contain a CMakeCache.txt (which > is > > correct of course, it's not the toplevel directory). Then I remembered > that > > build_command() can be used to get a command line to build a project; > > unfortunately, in 3.0 and later, this just returns 'cmake --build ...' > and > > so is unusable in my situation. > > > > Is there a way to query CMake for the native command line (or something > > else) I could use to build the CMake-generated buildsystem in the > > subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that doesn't > > tell me anything about what arguments I should pass, and it's not even > set > > on Visual Studio generators. > > > > As a workaround, I thought of not doing add_subdirectory() at all and > > instead adding a custom target with 'ctest --build-and-test ...', but I > > would prefer to configure & generate the two directories together. I > plan to > > eventually add install() rules for the examples as well, and the examples > > also use one of the targets from the toplevel cmakelist in > > add_custom_command(OUTPUT ...), so I would really like to keep them as > one > > CMake system. Is there a way to do so? > > > > Petr > > > > -- > > > > 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