[CMake] CMake equivalent to Boost.Build site-config.jam or user-config.jam

Cristian Adam cristian.adam at gmail.com
Wed Aug 9 06:20:03 EDT 2017


On Tue, Aug 8, 2017 at 8:08 PM, Brian Davis <bitminer at gmail.com> wrote:

>
> Is there a CMake equivalent to a site-config.jam or user-config.jam
>
> http://www.boost.org/build/doc/html/bbv2/recipies/site-config.html
>
> basically a CMake file the user can put in a project directory that CMake
> will read first when using cmake-gui that allows user to specify stuff they
> don't want to have to keep specifying in cmake-gui each "delete cache"
>
> such as
>
> set( CMAKE_INSTALL_PREFIX ${CURRENT_LIST_DIR}/install CACHE STRING ""
> FORCE)
> set( CMAKE_DEBUG_POSTFIX d CACHE STRING "" FORCE )
>
>
> There is cmake.exe
>
> -C <initial-cache>
>
> but requires command line
>
> come to think of it would be nice if
> set( CMAKE_GENERATOR_PLATFORM "Visual Studio 12 2013 Win64" )
>
> in desired user config file and CMake would just "make it so" on clicking
> Generate.
>
> I can do this with my own projects, by implementing it myself, but when
> checking out 3rd party projs they can be all over the map on config
> allowing a user-config.cmake would provide mechanism to tame the config
> problems.
>
> Desired workflow
>
> 1) Checkout 3rd party proj
>
> 2) put a CMakeUser.txt or whatever file per project
>
> 3) Run CMake GUI Generate
>
> 4) Click Open Project
>
> 5) Change whatever manual bits in in gui
>
> 6) Update project suing git witch branches versions
>
> 7) Delete Cache
>
> 8) Return to 3
>
> 9) Doopy doopy doo whatever else
>

There is the (undocumented) PreLoad.cmake
<https://gitlab.kitware.com/cmake/cmake/blob/master/Source/cmake.cxx#L1507>,
which acts like giving a precache file with -C command line argument.

But, as it turns out, it doesn't work with server mode :(

Cheers,
Cristian.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20170809/b984f0c9/attachment.html>


More information about the CMake mailing list