[cmake-developers] [PATCH] Option CMAKE_INSTALL_COMPONENTS and IFW installer

Konstantin Podsvirov konstantin at podsvirov.pro
Tue Jul 7 02:43:55 EDT 2015


06.07.2015, 21:01, "Brad King" <brad.king at kitware.com>:
> On 07/03/2015 09:09 AM, Konstantin Podsvirov wrote:
>> About 6 months ago I started a topic cmake-install-components.
>> Today I am ready to share the results.
>
> Great, thanks! The changes look good except for comments below.
>
>> So as not to disturb those who do not need it I have added the
>> option CMAKE_INSTALL_COMPONENTS, which by default is set to OFF.
>
> Please rename this to "CMake_INSTALL_COMPONENTS". We've started
> a convention of using "CMake_" options for affecting the build
> of CMake itself and "CMAKE_" for general CMake-defined options
> that could be used by any project.

Done! It's just. When I was choosing a name for the option in SPHINX documentation I have not found
of such recommendations.
In QtDialog variable CMake_GUI_DISTRIBUTE_WITH_Qt_LGPl to install the license.
I have considered this option in the installer, but it is not declared as optional in the framework of the CMake project.

> In this hunk:
>
>> -install(TARGETS cmake cpack ctest DESTINATION bin)
>> +# Install tools
>> +
>> +set(_tools cmake cpack ctest)
>> +
>> if(APPLE)
>> - install(TARGETS cmakexbuild DESTINATION bin)
>> + list(APPEND _tools cmakexbuild)
>> endif()
>>
>> +foreach(_tool in ${_tools})
>> + install(TARGETS ${_tool} DESTINATION bin COMPONENT ${_tool})
>> +endforeach()
>
> The cmakexbuild tool is an implementation detail of cmake/ctest/cpack
> that must be installed along with them. Whatever that enforces those
> three components are required should cover cmakexbuild too.

Done! I added cmakexbuild component in the group of Tools like cmake, ctest, and cpack.
This should work for APPLE, but I have no way to check it out.
Maybe someone can collect IFW installer on the APPLE platform?

> Thanks,
> -Brad

The project has many minor installation instructions. They are all now accounted for and installed as Unspecified component that hide from the user's eyes. It is not excluded that eventually they will find the name of the component and the location of the installation tree.

I used rebase. The last 8 commits in a branch on my server contain change of topic:

http://git.podsvirov.pro/?p=kitware/cmake.git;a=shortlog;h=refs/heads/cmake-install-components

I hope now will be able to apply the changes.

--
Regards,
Konstantin Podsvirov


More information about the cmake-developers mailing list