<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>I am trying … That’s a very clear organization </div><div><br></div><br><div><div>On Sep 16, 2014, at 19:57, Micha Hergarden <<a href="mailto:micha.hergarden@gmail.com">micha.hergarden@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hello Yu,<br>
<br>
That is because of the following lines:<br>
<br>
AUX_SOURCE_DIRECTORY(. DIR_TARGET)<br>
ADD_LIBRARY (relfiles ${DIR_TARGET})<br>
<br>
I think you may be misusing the aux_source_directory command. I
have tested your setup on a linux machine with -j8 and it still
builds. Did you take a look at the openchemistry setup?<br>
<br>
Regards,<br>
Micha<br>
<br>
On 09/16/2014 01:42 PM, Yu Jing wrote:<br>
</div>
<blockquote cite="mid:F3E2232C-C775-49D6-913D-58631039F652@gmail.com" type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<div>Hello Micha,</div>
<div>It seems still not work….</div>
<br>
<div>
<div>On Sep 16, 2014, at 17:36, Micha Hergarden <<a moz-do-not-send="true" href="mailto:micha.hergarden@gmail.com">micha.hergarden@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hello Yu,<br>
<br>
It seems I too needed another trick to make it work:<br>
set_property(TARGET CRFPP_EX_PROJ PROPERTY
EXCLUDE_FROM_ALL TRUE)<br>
set_property(TARGET LEVELDB_EX_PROJ PROPERTY
EXCLUDE_FROM_ALL TRUE)<br>
<br>
ADD_DEPENDENCIES(cmake_sample iniparser_static
CRFPP_EX_PROJ LEVELDB_EX_PROJ)<br>
<br>
By default the ExternalProject_Add will add that target to
the ALL target, and that confuses the Make dependency
checker. I have removed those dependencies in my project.
On the whole I agree with Marcel Loose and Petr Kmoch
however. Combining their solution makes for a 'cleaner'
project. To be honest, I am halfway of migrating my
project to a superbuild as well. Take a look at the
openchemistry project if you would like to see an example
of that: <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://github.com/OpenChemistry/openchemistry">https://github.com/OpenChemistry/openchemistry</a><br>
<br>
Regards,<br>
Micha Hergarden<br>
<br>
<br>
On 09/16/2014 11:04 AM, Marcel Loose wrote:<br>
</div>
<blockquote cite="mid:5417FD0E.4030106@astron.nl" type="cite">
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
Hi Yu,<br>
<br>
I think you need to add an explicit dependency of <a moz-do-not-send="true" href="http://main.cc/">main.cc</a>
on the "generated" (well, not really generated, but
installed) header file crfpp.h. CMake has no clue as to
what files are being compiled/installed by your external
project, so you have to make this explicit.<br>
<br>
HTH,<br>
Marcel Loose.<br>
<br>
<br>
<div class="moz-cite-prefix">On 16/09/14 10:41, Yu Jing
wrote:<br>
</div>
<blockquote cite="mid:8B05041E-6ABA-411B-9854-9AA53BD51C07@gmail.com" type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<div>Hello Micha ,</div>
<div><br>
</div>
<div>It seems doesn’t work.</div>
<div>I updated code , and move the external project to
src , and it still not work.</div>
<div><br>
</div>
<div>what should be noticed is :</div>
<div>1. If I just use </div>
<div>$ make</div>
<div>as make command ,all styles are work</div>
<div>2. If I use in multi jobs</div>
<div>$ make -j8</div>
<div>It will run abnormal (not desired sequence) .</div>
<div><br>
</div>
<br>
<div>
<div>On Sep 16, 2014, at 15:27, Micha Hergarden <<a moz-do-not-send="true" href="mailto:micha.hergarden@gmail.com">micha.hergarden@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">It may be that you
have line 63 and 64 the wrong way around:<br>
<span class="nb">ADD_SUBDIRECTORY</span><span class="p">(</span><span class="s">src</span><span class="p">)<br>
</span><span class="nb">ADD_SUBDIRECTORY</span><span class="p">(</span><span class="s">lib</span><span class="p">)<br>
<br>
The externalproject is added in lib, but you
add a dependency on it in src. CMake will
descend in the subdirectories in the order you
supply them.<br>
Does reversing the directories help?<br>
<br>
Regards,<br>
Micha<br>
</span><br>
On 09/16/2014 09:17 AM, Yu Jing wrote:<br>
</div>
<blockquote cite="mid:E760AF53-2F5E-40B0-B78F-ACA6225B90BE@gmail.com" type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<div>I am in OSX 10.9.4 , a sample in github is
: <a moz-do-not-send="true" href="https://github.com/yujing5b5d/cmake_sample">https://github.com/yujing5b5d/cmake_sample</a></div>
<div>after git clone this project , a operation
like this :</div>
<div>
<div>------------------------------------------------------------------------------------------------------------</div>
</div>
<div><br>
</div>
<div>
<div><b>yu:cmake_sample yu$ mkdir build</b></div>
<div><b>yu:cmake_sample yu$ cd build/</b></div>
<div><b>yu:build yu$ cmake ..</b></div>
<div>…. # skip some useless output</div>
<div>-- Configuring done</div>
<div>-- Generating done</div>
<div>-- Build files have been written to:
/Users/yu/Workspace/res/cmake_sample/build</div>
<div><b>yu:build yu$ make -j8 ###
<<<<<<<<<<<<<<<</b></div>
<div>Scanning dependencies of target
LEVELDB_EX_PROJ</div>
<div>Scanning dependencies of target iniparser</div>
<div>Scanning dependencies of target relfiles</div>
<div>Scanning dependencies of target
CRFPP_EX_PROJ</div>
<div>Scanning dependencies of target
iniparser_static</div>
<div>[ 15%] [ 15%] [ 20%] [ 20%] [ 25%]
Building C object
lib/iniparser/CMakeFiles/iniparser_static.dir/ini.c.o</div>
<div>Creating directories for 'CRFPP_EX_PROJ'</div>
<div>Creating directories for
'LEVELDB_EX_PROJ'</div>
<div>Building C object
lib/iniparser/CMakeFiles/iniparser.dir/ini.c.o</div>
<div>Building CXX object
src/CMakeFiles/relfiles.dir/main.cc.o</div>
<div>[ 30%] [ 35%] Performing download step
(git clone) for 'LEVELDB_EX_PROJ'</div>
<div>Performing download step (git clone) for
'CRFPP_EX_PROJ'</div>
<div>/Users/yu/Workspace/res/cmake_sample/src/<a moz-do-not-send="true" href="http://main.cc/">main.cc</a>:3:10:
fatal error: 'crfpp.h' file not found</div>
<div>#include "crfpp.h" // crfpp</div>
<div> ^</div>
<div>Cloning into 'CRFPP_EX_PROJ'...</div>
<div>Cloning into 'LEVELDB_EX_PROJ'...</div>
<div>Linking C static library
../libiniparser.a</div>
<div>Linking C shared library
../libiniparser.dylib</div>
<div>[ 35%] [ 35%] Built target
iniparser_static</div>
<div>Built target iniparser</div>
<div>Scanning dependencies of target
cmake_sample</div>
<div>[ 40%] Building CXX object
src/CMakeFiles/cmake_sample.dir/main.cc.o</div>
<div>/Users/yu/Workspace/res/cmake_sample/src/<a moz-do-not-send="true" href="http://main.cc/">main.cc</a>:3:10:
fatal error: 'crfpp.h' file not found</div>
<div>#include "crfpp.h" // crfpp</div>
<div> ^</div>
<div>1 error generated.</div>
<div>1 error generated.</div>
<div>make[2]: ***
[src/CMakeFiles/relfiles.dir/main.cc.o]
Error 1</div>
<div>make[2]: ***
[src/CMakeFiles/cmake_sample.dir/main.cc.o]
Error 1</div>
<div>make[1]: ***
[src/CMakeFiles/relfiles.dir/all] Error 2</div>
<div>make[1]: *** Waiting for unfinished
jobs....</div>
<div>make[1]: ***
[src/CMakeFiles/cmake_sample.dir/all] Error
2</div>
<div>….</div>
<div>------------------------------------------------------------------------------------------------------------</div>
<div><br>
</div>
<div>BE CAREFUL OF THIS LINE :</div>
</div>
<div>
<div><b>>> yu:build yu$ make -j8</b></div>
</div>
<div><b><br>
</b></div>
<div>the ExternalProject CRFPP_EX_PROJ’s result
contains copy a crfpp.h header to a special
path, after this process , we can use #include
“crfpp.h" ,and If I use </div>
<div>make -j8</div>
<div>this means 8 jobs can be running at the
same time, I can not constraints and let my
compiler compile my <a moz-do-not-send="true" href="http://main.cc/">main.cc</a> after
CRFPP_EX_PROJ finished.</div>
<div><br>
</div>
<div>Of course , I’m not sure is this my misuse
this project .</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div>
<div>On Sep 16, 2014, at 14:55, Micha
Hergarden <<a moz-do-not-send="true" href="mailto:micha.hergarden@gmail.com">micha.hergarden@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<meta content="text/html;
charset=windows-1252" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hello all,<br>
<br>
I do use the ExternalProject to prebuild
some binaries, without the
'superproject' setup, and it does seem
to work. Using the add_dependencies, I
can make sure some third party libs are
prebuild before I start to build my
project. I have seen some issues with
ExternalProject (failing to extract, or
build), but they are too rare to
pinpoint and create a bugreport.<br>
<br>
What exactly does not work? Is the
external project not build at all, or
just not in time?<br>
<br>
Regards,<br>
Micha<br>
<br>
On 09/16/2014 08:30 AM, Petr Kmoch
wrote:<br>
</div>
<blockquote cite="mid:CAKohaZfCEeDUZwFbnyfW0GC=rPhuTgRCmSJfqS8up+cdt8abLA@mail.gmail.com" type="cite">
<div dir="ltr">
<div>
<div>Hi.<br>
<br>
</div>
I've never worked with
ExternalProject myself, so I can't
comment with certainty, but from
what I understand, the correct way
of using ExternalProject is to add
your own project as an
ExternalProject as well. Basically,
the toplevel CMakeList becomes a
superbuild which *only* does
ExternalProject_Add() calls and does
not add any libraries/executables
directly. After you build the
superbuild once to get all the
dependencies correct, you switch to
the "external" project of your own
code and work with that normally.<br>
<br>
</div>
Petr<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Sep
15, 2014 at 4:13 PM, Yu Jing <span dir="ltr"><<a moz-do-not-send="true" href="mailto:yujing5b5d@gmail.com" target="_blank">yujing5b5d@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;
border-left-width: 1px;
border-left-color: rgb(204, 204,
204); border-left-style: solid;
padding-left: 1ex; position:
static; z-index: auto;">
<div style="word-wrap:break-word"><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)">I
had asked in <a moz-do-not-send="true" href="http://stackoverflow.com/questions/25841602" target="_blank">http://stackoverflow.com/questions/25841602</a>
, someone told me maybe here
is a better place to ask.</p><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)">I
am writing a project base on
crfpp , a external project. I
use cmake to integerate this
project as follow .</p><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)">firstly
, I add a extenal project like
this:</p>
<pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.8048000335693px;background-color:rgb(238,238,238);background-repeat:initial initial"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-repeat:initial initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">EXTERNALPROJECT_ADD</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repe
at:initi
a
l
initial
">(<span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
CRFPP_EX_PROJ
GIT_REPOSITORY git@github</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">com</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">:</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">yujing5b5d</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">crfpp</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background
-
color:transparent;background-repeat:initial initial">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">git
PREFIX $</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">{</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">CMAKE_CURRENT_BINARY_DIR</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">}</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
CONFIGURE_COMMAND </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">./</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">configure
BUILD_COMMAND make </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">-</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">j8
BUILD_IN_SOURCE </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background-color:transparent;background-repeat:initial initial">1</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
INSTALL_COMMAND cp </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">libs</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">libcrfpp</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">a $</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:tr
a
nsparent;background-repeat:initial initial">{</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">PROJECT_BINARY_DIR</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">}/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">lib </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">&&</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> cp crfpp</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">.</span><span style="margin:0px;padding:0px;border:0px;ver
t
ical-align:baseline;background-color:transparent;background-repeat:initial initial">h $</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">{</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">PROJECT_BINARY_DIR</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">}/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">include
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">)</span></span></code></pre><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255);background-repeat:initial
initial">this will generate
some .a file and copy a header
file <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida
Console','Liberation
Mono','DejaVu Sans
Mono','Bitstream Vera Sans
Mono','Courier
New',monospace,serif;white-space:pre-wrap;background-color:rgb(238,238,238);background-repeat:initial
initial">crfpp.h</code> to
folder <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida
Console','Liberation
Mono','DejaVu Sans
Mono','Bitstream Vera Sans
Mono','Courier
New',monospace,serif;white-space:pre-wrap;background-color:rgb(238,238,238);background-repeat:initial
initial">${PROJECT_BINARY_DIR}/include</code> ,
which is included in my
project.</p><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255);background-repeat:initial
initial">and then , use the <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida
Console','Liberation
Mono','DejaVu Sans
Mono','Bitstream Vera Sans
Mono','Courier
New',monospace,serif;white-space:pre-wrap;background-color:rgb(238,238,238);background-repeat:initial
initial">${PROJECT_BINARY_DIR}/include</code> as
include path as follow .</p>
<pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.8048000335693px;background-color:rgb(238,238,238);background-repeat:initial initial"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-repeat:initial initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">INCLUDE_DIRECTORIES</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repe
at:initi
a
l
initial
">(<span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
$</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">{</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">PROJECT_SOURCE_DIR</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">}/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">include
$</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">{</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">PROJECT_BINARY_DIR</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">}/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">include
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">)</span></span></code></pre><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255);background-repeat:initial
initial">finally , when I
compile the main project ,
code like this :</p>
<pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.8048000335693px;background-color:rgb(238,238,238);background-repeat:initial initial"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-repeat:initial initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">ADD_EXECUTABLE</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:in
itial in
i
t
ial">(<!--
span--><sp an="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cmake_sample main<span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cc</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">)</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
ADD_DEPENDENCIES</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cmake_sample CRFPP_EX_PROJ</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">)</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
TARGET_LINK_LIBRARIES</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cmake_sample crfpp</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">)</span></sp></span></code></pre><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255);background-repeat:initial
initial">In general , if I
just build a build folder,
compile like this :</p>
<pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.8048000335693px;background-color:rgb(238,238,238);background-repeat:initial initial"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-repeat:initial initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cmake </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial in
itial">.
.
<
/span><s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
make</s></span></code></pre>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255);background-repeat:initial
initial">It may works fine,
compile the external project
first , and copy the header
file to desired place , and
then continue compile <a moz-do-not-send="true" href="http://main.cc/" target="_blank">main.cc</a>
in my project . But if I use
compile command as
multi-thread like this :</p>
<pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.8048000335693px;background-color:rgb(238,238,238);background-repeat:initial initial"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-repeat:initial initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cmake </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial">
.
.</span><s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
make <span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">-</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">j8</span></s></code></pre>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255);background-repeat:initial
initial">It will not works
because my <a moz-do-not-send="true" href="http://main.cc/" target="_blank">main.cc</a>
and the external project
are processed at same
time, so it report a error
like this :</p>
<pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.8048000335693px;background-color:rgb(238,238,238);background-repeat:initial initial"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-repeat:initial initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background-color:transparent;background-repeat:initial initial">/Users/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;back
ground-r
e
p
eat:initial
initial">yu</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background-color:transparent;background-repeat:initial initial">Workspace</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">res</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cmake_sample</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;backgrou
n
d-color:
transparent;background-repeat:initial initial">/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">src</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">/</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">main</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cc</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">:</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rg
b
(128,0,0);background-color:transparent;background-repeat:initial initial">3</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">:</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background-color:transparent;background-repeat:initial initial">10</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">:</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> fatal error</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">:</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> </span><span style="margin:0px;pad
d
ing:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background-color:transparent;background-repeat:initial initial">'crfpp.h'</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> file </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(0,0,139);background-color:transparent;background-repeat:initial initial">not</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> found
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,128,128);background-color:transparent;background-repeat:initial initial">#include</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background-color:transparent;background-repeat:initial initial">"crfpp.h"</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,128,128);background-color:transparent;background-repeat:initial initial">// crfpp</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">^</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background-color:transparent;background-repeat:initial initial">1</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial"> error generated</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">.</span></code></pre><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)">This <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida
Console','Liberation
Mono','DejaVu Sans
Mono','Bitstream Vera
Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap;background-color:rgb(238,238,238);background-repeat:initial
initial">crfpp.h</code> will
generated after <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida
Console','Liberation
Mono','DejaVu Sans
Mono','Bitstream Vera
Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap;background-color:rgb(238,238,238);background-repeat:initial
initial">CRFPP_EX_PROJ</code> ,
but in multi-thread
environment , the sequence
is quite different .</p><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)">My
Question is : Is it
possible that force let my
project compile after
these external projects
all finished . BE CAREFUL
, I'm not sure is this the
problem of my use of <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida
Console','Liberation
Mono','DejaVu Sans
Mono','Bitstream Vera
Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap;background-color:rgb(238,238,238);background-repeat:initial
initial">ADD_DEPENDENCIES</code> ,
I also wrote</p>
<pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.8048000335693px;background-color:rgb(238,238,238);background-repeat:initial initial"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-repeat:initial initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">ADD_DEPENDENCIES</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-rep
eat:init
i
a
l initial">(
</span><
span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">cmake_sample CRFPP_EX_PROJ<span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial initial">)</span></code></pre><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)">but
it seems not works ?</p><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)">Thanks
for any help.</p><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;font-family:Arial,'Liberation
Sans','DejaVu
Sans',sans-serif;line-height:17.8048000335693px;background-color:rgb(255,255,255)"><br>
</p>
</s></s></div>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> <br>
--<br>
<br>
Powered by <a moz-do-not-send="true" href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic
and check the CMake FAQ at: <a moz-do-not-send="true" href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services
to support the CMake community.
For more information on each
offering, please visit:<br>
<br>
CMake Support: <a moz-do-not-send="true" href="http://cmake.org/cmake/help/support.html" target="_blank">http://cmake.org/cmake/help/support.html</a><br>
CMake Consulting: <a moz-do-not-send="true" href="http://cmake.org/cmake/help/consulting.html" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
CMake Training Courses: <a moz-do-not-send="true" href="http://cmake.org/cmake/help/training.html" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
<br>
Visit other Kitware open-source
projects at <a moz-do-not-send="true" href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to
subscribe/unsubscribe:<br>
<a moz-do-not-send="true" href="http://public.kitware.com/mailman/listinfo/cmake" target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><br>
</s></blockquote>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> </s></div>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> <br>
</s></div>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> <br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</s></blockquote>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> <br>
</s></div>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> </s></blockquote>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> </s></div>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> <br>
</s></blockquote>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> <br>
</s></div>
<s pan="" styl="" e="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;background-repeat:initial
initial"> </s></blockquote>
</div>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
</div>
-- <br>
<br>
Powered by <a moz-do-not-send="true" href="http://www.kitware.com/">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a moz-do-not-send="true" href="http://www.cmake.org/Wiki/CMake_FAQ">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake
community. For more information on each offering, please
visit:<br>
<br>
CMake Support: <a moz-do-not-send="true" href="http://cmake.org/cmake/help/support.html">http://cmake.org/cmake/help/support.html</a><br>
CMake Consulting: <a moz-do-not-send="true" href="http://cmake.org/cmake/help/consulting.html">http://cmake.org/cmake/help/consulting.html</a><br>
CMake Training Courses: <a moz-do-not-send="true" href="http://cmake.org/cmake/help/training.html">http://cmake.org/cmake/help/training.html</a><br>
<br>
Visit other Kitware open-source projects at <a moz-do-not-send="true" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a moz-do-not-send="true" href="http://public.kitware.com/mailman/listinfo/cmake">http://public.kitware.com/mailman/listinfo/cmake</a></blockquote>
</div>
<br>
</blockquote>
<br>
</div>
</blockquote></div><br></body></html>