| [ Return to Bugs & Features | Roadmap 1.3 | SVN ⇄ GIT ]
STR #3217
Application: | FLTK Library |
Status: | 1 - Closed w/Resolution |
Priority: | 1 - Request for Enhancement, e.g. asking for a feature |
Scope: | 3 - Applies to all machines and operating systems |
Subsystem: | Build Files |
Summary: | fix CMake build's fltk-config |
Version: | 1.3-feature |
Created By: | mjsurette |
Assigned To: | AlbrechtS |
Fix Version: | 1.3.4 (SVN: v10719) |
Update Notification: | |
Trouble Report Files:
Trouble Report Comments:
|
#1 | mjsurette 22:09 Apr 13, 2015 |
| This patch fixes CMake's fltk-config.
Notes:
It wasn't that far from working, actually. I mostly added a little glue and reorganized a bit.
export.cmake generates configuration files for non-installed use install.cmake generates configuration files for installed use The new variables.cmake sets path-insensitive variables common to both. This will hopefully make things clearer.
I found it necessary to generate two versions of fltk-config. The one generated by configure checks for local invocation by checking for the presence of ./FL/Fl_Window.H. This is not a valid test for out of tree builds.
The local invocation version is in the build directory. The install version is in build/bin. Both versions generate the proper full path names for ${prefix} and ${includedir}
fltk-config.in was used as the template. fltk-config.cmake.in is now obsolete.
The CMake build files never did set the optimization flags that configure did and so does not report them unless they have been added via OPTION_OPTIM
The variable CMAKE_REQUIRED_LIBRARIES had no real use and was removed. | |
|
#2 | AlbrechtS 07:01 Apr 25, 2015 |
| Fixed in Subversion repository.
Thanks for the patch.
I applied the patch almost literally. I changed 'prefix' to 'exec_prefix' where configure's fltk-config used $exec_prefix, although this is rarely used.
I also set the variable SHAREDSUFFIX to an empty string for now instead of ${CMAKE_SHARED_LIBRARY_SUFFIX}, because configure (and hence its generated fltk-config) would set this only if the OS is 'aix', and then it would be set to "_s". The original patch used ".so" under Linux, which led to using "-lfltk.so" which is at least unusual. Now it is "-lfltk" (as in configure's fltk-config).
Comments on the above and possible ways to set "_s" under "aix" welcome.
I also deleted the obsolete template fltk-config.cmake.in. | |
|
#3 | mjsurette 07:49 Apr 25, 2015 |
| This untested patch should do the trick according to the docs. | |
|
#4 | AlbrechtS 13:38 Apr 25, 2015 |
| Thanks for the quick update. Patch applied with little extra formatting. | |
|
#5 | AlbrechtS 07:30 Jun 27, 2015 |
| Updates are in svn r 10716 and 10719, resp. | |
[ Return to Bugs & Features ]
|
| |