Hi,
On Fri, Jun 29, 2012 at 2:44 PM, Christian Arnault <[email protected]>wrote:
> Hi,
>
> I wanted to factor out some initial stuff of my CMakeLists.txt that I
> systematically include.
>
> typically I include the following lines at the beginning of all my
> CMakeLists.txt:
>
> cmake_minimum_required(VERSION 2.8)
> function (AA)
> message ("calling AA")
> endfunction()
>
> AA()
>
> Then I thought by using the -C option as follows:
>
> > cmake --build=. -C %CMTROOT%\Init.cmake ..\CMakeLists.txt
>
> with Init.cmake file containing
>
> function(AA)
> message("calling aaaa")
> endfunction()
>
> This would be equivalent.
>
> Apparently this is not the case. In particular, the function definitions
> are not transmitted by this mechanism
>
> loading initial cache file ...\Init.cmake
>
> ... the functions defined in Init.cmake are not recognized
>
The cmake manual explains why this happens, the script is only executed to
prefill the cache file, its not prepended to the cmakelists.txt files that
are being run.
> Of course I could 'manually' include my module in all CMakeLists.txt but
> ...
>
> Can someone explain why?
>
> Or, how could I obtain what I need?
>
Use include() in your cmakelists.txt files.
Andreas
--
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