[CMake] add_library and PARENT_SCOPE

David Cole david.cole at kitware.com
Thu Mar 5 10:32:56 EST 2009


CMake is looking for file.cpp in the top level directory.
In your sub, do this instead:
  set(subfiles "${CMAKE_CURRENT_SOURCE_DIR}/file.cpp" PARENT_SCOPE)


On Thu, Mar 5, 2009 at 10:22 AM, <mbritton at astro.caltech.edu> wrote:

>
> Hello:
>
> I am trying to assemble sources that are distributed across a number of
> subdirectories into a variable for inclusion in an add_library command.
> I've tried using PARENT_SCOPE to do so, but I haven't been successful.
>
> Here is a specific example:
>
> toplevel CMakeLists.txt:
>
>  cmake_minimum_required(VERSION 2.6)
>
>  add_subdirectory(sub)
>
>  message(status " subfiles ${subfiles}")
>
>  add_library(tst ${subfiles})
>
>
> CMakeLists.txt in subdirectory sub:
>
>  set(subfiles file.cpp PARENT_SCOPE)
>
>
> Output from cmake version 2.6-patch 3
>
>  -- The C compiler identification is GNU
>  -- The CXX compiler identification is GNU
>  -- Check for working C compiler: /usr/bin/gcc
>  -- Check for working C compiler: /usr/bin/gcc -- works
>  -- Detecting C compiler ABI info
>  -- Detecting C compiler ABI info - done
>  -- Check for working CXX compiler: /usr/bin/c++
>  -- Check for working CXX compiler: /usr/bin/c++ -- works
>  -- Detecting CXX compiler ABI info
>  -- Detecting CXX compiler ABI info - done
>  status subfiles file.cpp
>  -- Configuring done
> CMake Error in CMakeLists.txt:
>  Cannot find source file "file.cpp".  Tried extensions .c .C .c++ .cc
> .cpp .cxx
>  .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
>
>
> -- Build files have been written to: /home/matthew/tmp/build
>
>
> As you can see, the variable ${subfiles} is set correctly, but does not
> seem to be expanded when placed into the add_library command.
>
>
> Sincerely yours
> Matthew
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090305/a75bff5a/attachment.htm>


More information about the CMake mailing list