Hi Petr,

Thanks, indeed I had unset the property !
Cmake works fine with removing the line. But I have now a doubt.
My generator generates the files in the current dir.
Should I indicate the working directory in add_custom_command ?
so that the generated sources are added in CMAKE_CURRENT_SOURCE_DIR
or it will automatically add them in the source dir and not the build dir ?
Vania



On 01/26/2016 09:43 AM, Petr Kmoch wrote:
Hi, Vania.

You should remove this line:

set_property(SOURCE ${GEN_SOURCES} PROPERTY GENERATED )

CMake will mark the files as generated automatically.

What your line is actually doing is setting them as *not* generated, because you didn't pass any argument to set the property to, so it's implicitly unset. What you probably wanted would have been this:

set_property(SOURCE ${GEN_SOURCES} PROPERTY GENERATED TRUE)

But again, remove the line altogether, it's unnecessary.

You should also remove the quotes from your `add_library` call. The way you have it would look for a single file named "A.cc;B.cc;C.cc X.cc;Y.cc;Z.cc".

Petr

On Tue, Jan 26, 2016 at 9:36 AM, Vania Joloboff <vania.jolob...@inria.fr <mailto:vania.jolob...@inria.fr>> wrote:

    Hi

    I have a generator that generates some, but not all of the source
    files.
    My understanding was that I should use add_custom_command for that

    When I do
    set(EXIST_SOURCES A.cc B.cc C.cc)
    set(GEN_SOURCES X.cc Y.cc Z.cc)
    add_custom_command(OUTPUT ${GEN_SOURCES}
                           COMMAND generator
                           MAIN_DEPENDENCY gendir/generator   )
    set_property(SOURCE ${GEN_SOURCES} PROPERTY GENERATED )
    add_library(mylib OBJECT "${EXIST_SOURCES} ${GEN_SOURCES}" )

    I get error "Cannot find source file : X.cc"

    So, I tried

    set(EXIST_SOURCES A.cc B.cc C.cc)
    set(GEN_SOURCES X.cc Y.cc Z.cc)
    add_custom_target(generate
                  COMMAND generator
                  COMMENT "Generate"
                  DEPENDS gendir/generator   )
    set_property(SOURCE ${GEN_SOURCES} PROPERTY GENERATED )
    add_library(mylib OBJECT "${EXIST_SOURCES} ${GEN_SOURCES}" )
    add_dependencies(mylib generate)

    I get same error "Cannot find source file : X.cc"

    I just don't get it...

    Vania

--
    Powered by www.kitware.com <http://www.kitware.com>

    Please keep messages on-topic and check the CMake FAQ at:
    http://www.cmake.org/Wiki/CMake_FAQ

    Kitware offers various services to support the CMake community.
    For more information on each offering, please visit:

    CMake Support: http://cmake.org/cmake/help/support.html
    CMake Consulting: http://cmake.org/cmake/help/consulting.html
    CMake Training Courses: http://cmake.org/cmake/help/training.html

    Visit other Kitware open-source projects at
    http://www.kitware.com/opensource/opensource.html

    Follow this link to subscribe/unsubscribe:
    http://public.kitware.com/mailman/listinfo/cmake



--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to