John Ellson wrote:
how do I reference a symbol defined in CMakeLists.txt in another directory for a list of source files?

e.g. in lib/graph/CMakeLists.txt I have:
SET(graph_SRCS attribs.c agxbuf.c edge.c graph.c graphio.c lexer.c node.c parser.c refstr.c trie.c
   )
and I want to expand this in lib/gvc/CMakeLists.txt

As long as lib/gvc is processed after lib/graph:

GET_DIRECTORY_PROPERTY(
  graph_SRCS
  DIRECTORY ${PROJECT_SOURCE_DIR}/lib/graph
  DEFINITION graph_SRCS
)

However you will have to reference the sources by their full path so that they can be found in the other directory.

You could also create lib/graph/sources.cmake with this code:

SET(graph_SRCS
  ${PROJECT_SOURCE_DIR}/lib/graph/attribs.c
  ${PROJECT_SOURCE_DIR}/lib/graph/agxbuf.c
  ...)

and then INCLUDE it in both CMakeLists.txt files.

-Brad

_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to