<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body 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 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 main.cc 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-repeat: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-repeat: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:initial 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 initial">.
.
<
/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;background-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-repeat: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>
</body>
</html>