[CMake] Target properties, dependencies and subdirs order?

Jeroen Janssen jeroen.janssen at gmail.com
Mon Sep 25 09:18:33 EDT 2006


Hi,

I have a question on the evaluation/creation of target properties in
relation with dependencies.

Example:
<topdir>
   TestDll     directory with interface/ and src/
   TestExe   directory with src/

TestExe has a dependency to TestDll (with add_dependency)

Now I would like to add the interface directory of TestDll to the
include paths of TestExe (based on the target properties of TestDll).
Note that for this 'small' example I could probably 'short-circuit'
things, but this way is the easiest to explain one of the conceptual
problems we have.

I found a 'subdirectory-order-dependency' problem that I need to
understand/find a solution to:

When performing GET_TARGET_PROPERTY( TestSO_INTERFACEDIR TestDll
LOCATION), this only works when <topdir> has TestDll before TestExe in
the SUBDIRS section. If TestDll is after TestExe (e.g. "SUBDIRS(
TestExe TestDll)" ), the GET_TARGET_PROPERTY fails on TestDll
(resulting in NOTFOUND).

Now I would rather not have any dependency/order information in the
topdir CMakeLists.txt. I was hoping that "add_dependencies" would make
sure information got evaluated in the "right order".

Is there anyone doing something similar?
Any thoughts on how to solve this problem?

Best regards,

Jeroen Janssen


More information about the CMake mailing list