[CMake] multi core project

Williams, Norman K norman-k-williams at uiowa.edu
Tue Nov 19 14:52:27 EST 2013


Add this:

set(proj CORE0)
ExternalProject_Add_Step(${proj} forcebuild
  COMMAND ${CMAKE_COMMAND} -E remove
  ${CMAKE_CURRENT_BUILD_DIR}/${proj}-prefix/src/${proj}-stamp/${proj}-build
  DEPENDEES configure
  DEPENDERS build
  ALWAYS 1
  )

ExternalProject keeps track of project phases based on 'stamp' files that
are created if a stage is completed successfully.
The stuff above removes the stamp for 'build' so that a build is forced
every time you run make (or the build tool of your choice).

You can also just build in the directory for CORE0 which the way you have
it set up would be
${CMAKE_CURRENT_BUILD_DIR}/${proj}-prefix/src/${proj}-build I believe.

We generally keep all our ExternalProject build directories grouped
together on the same level by setting the BINARY_DIR argument to
ExternalProject_add. This overrides (the way SOURCE_DIR does) the default
place where things get built.



--
Kent Williams norman-k-williams at uiowa.edu






On 11/19/13 12:31 PM, "Arne Pagel" <arne at pagelnet.de> wrote:

>Dear all,
>
>I just tried to use the ExternalProject_Add for this multicore project,
>having different separate
>camke projects for each core
>
>Now I have 2 Problems:
>
>1.)
>with the ExternalProject_Add and a given source dir it seams that my
>external projects are not
>rebuild if I made some changes there. Is there some nice way to rebuild
>the exeternal project all
>the time?
>
>This is how I call the External Project now:
>
>ExternalProject_Add(
>   CORE0
>
>   SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/core0
>
>   CMAKE_ARGS
>-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/MyToolChain.cmake
>
>   UPDATE_COMMAND ""
>   INSTALL_COMMAND ""
>)
>
>
>2.)
>Since there is some code generation involved which produces a number of
>randomly named c files I
>have to use a globbing function to get all source files.
>This inherits, that before each build, I have to call "make
>rebuild_cache", in order to scan for
>these new C files. (Is ther maybe a smarter way to do this?)
>So I have to include also this step within the build, I tried
>ExternalProject_Add_Step, but so far I
>couldn't get it running make in the <binary> dir.
>
>
>
>Any suggestion for me?
>
>
>
>
>
>
>--
>
>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://www.cmake.org/mailman/listinfo/cmake



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________


More information about the CMake mailing list