I had asked a similar question 2 weeks or so ago. The conclusion, which DID work well was the following.
Rather than having 1 “large” cmake project with sub libraries. Use the “super-project” system, where you do an ExternalProject_Add for each of the projects. Then for the projects that need the “first executable” you list that project as a dependency Scott From: CMake [mailto:cmake-boun...@cmake.org] On Behalf Of Craig Scott Sent: Thursday, March 31, 2016 4:53 PM To: cmake@cmake.org Subject: [CMake] Building a tool immediately so it can be used later in same CMake run All, I originally planned to ask this question directly on this mailing list, but it got a bit more involved, so I posted it to stackoverflow instead. I'm interested if anyone can shed some more authoritative light on the proposed method for the following question: http://stackoverflow.com/q/36084785/1938798 Short version: invoke a nested cmake-and-build immediately within the main CMake run to build a specific target via execute_process(). This makes that tool available for use still within the same (main) CMake run. An ExternalProject-based technique would normally be a better solution, but in this particular case, that wasn't possible. I'd be interested if anyone can confirm whether the suggested approach is guaranteed to be safe for all generators and platforms, or whether there are other factors I have not considered in the proposed technique. Cheers -- Craig Scott Melbourne, Australia http://crascit.com
-- 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