I am nearly finished with this, just need to write the variable documentation and test the xcode generators.
Once that is complete what is the best way to submit a change this size? While it is not very complex, it did touch a good number of files since it affected many generators. I have committed everything so far to my github fork at https://github.com/hiwrac/CMake/commits/static_linker_flags I can easily generate a patch file of the whole branch and attach it to the bug, just wondering if there is another preferred way. Thanks -Evan On Fri, Dec 7, 2012 at 7:35 PM, Evan Pipho <[email protected]> wrote: > Thanks Brad, I will start taking a look this weekend. > > As for flags being passed to the librarian /LTCG for whole program > optimization is probably the most common (and came up the most when I > searched on this issue) but controlling warnings with /ignore and turning > on warnings as errors (/wx) is also useful. > > > > On Fri, Dec 7, 2012 at 10:41 AM, Brad King <[email protected]> wrote: > >> On 12/07/2012 12:04 AM, Evan Pipho wrote: >> > I am looking for a way to set global flags for the librarian when >> creating static libraries, similar to CMAKE_SHARED_LINKER_FLAGS or >> CMAKE_EXE_LINKER_FLAGS. This would facilitate things like using 3rd party >> libraries that already use cmake without having to modify their >> CMakeLists.txt to set these >> > flags. >> > >> > >> > I found http://public.kitware.com/Bug/view.php?id=10094 which >> mentions using CMAKE_STATIC_LINKER_FLAGS as well as this fairly old thread >> http://www.cmake.org/pipermail/cmake/2009-October/032563.html also >> mentioning this. >> > >> > Has there been any progress on this feature? >> > If not, does a feature that exposes a CMAKE_STATIC_LINKER_FLAGS >> (and CMAKE_STATIC_LINKER_FLAGS_<TARGET>) which are then passed to the >> librarian (ar, lib.exe etx) make sense? I think this would be quite >> useful, especially for those of us that use cmake with visual studio. >> > >> > I would like to get the lists input, and if it is positive I would >> be interested in creating a patch to add this functionality. >> >> There is also this issue: >> >> http://www.cmake.org/Bug/view.php?id=10768 >> >> which was resolved here: >> >> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fe971d97 >> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d3303dbc >> >> to add a STATIC_LIBRARY_FLAGS_<CONFIG> version of the property >> as requested in the mailing list thread you linked. >> >> What is still missing is the cache variables equivalent to >> >> CMAKE_EXE_LINKER_FLAGS >> CMAKE_EXE_LINKER_FLAGS_<CONFIG> >> CMAKE_SHARED_LINKER_FLAGS >> CMAKE_SHARED_LINKER_FLAGS_<CONFIG> >> CMAKE_MODULE_LINKER_FLAGS >> CMAKE_MODULE_LINKER_FLAGS_<CONFIG> >> >> for static libraries. Following the above convention the names >> >> CMAKE_STATIC_LINKER_FLAGS >> CMAKE_STATIC_LINKER_FLAGS_<CONFIG> >> >> make sense even though no linking is actually performed. To add >> them, look for places already handling the above variables and >> find the equivalents for static libs. You will need to modify at >> least: >> >> cmLocalGenerator::GetTargetFlags >> cmGlobalXCodeGenerator::CreateBuildSettings >> cmMakefileLibraryTargetGenerator::WriteStaticLibraryRules >> cmLocalVisualStudio7Generator::OutputBuildTool >> cmLocalVisualStudio6Generator::WriteDSPHeader >> >> You will also need to modify the module >> >> Modules/CMakeCommonLanguageInclude.cmake >> >> to add the empty default cache entries. Finally, look in the >> cmDocumentVariables.cxx source file to add documentation. >> >> BTW, what kind of flags do you want to add to the librarian? >> >> -Brad >> > >
-- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
