bugThe FreeType Project - Bugs: bug #55235, CMake update build scripts to...

 
 

bug #55235: CMake update build scripts to support all futures

Submitted by:  rim <rim>
Submitted on:  Mon 17 Dec 2018 02:50:38 AM UTC  
 
Severity:  3 - Normal Item Group:  None
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Open
Planned Release:  None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sun 30 Dec 2018 03:21:11 AM UTC, comment #3:

Remove -fsanitize=safe-stack die to brokes some apps
add target_link_libraries() for static and dynamic libs

(file #45783)

rim <rim>
Fri 28 Dec 2018 11:10:27 PM UTC, comment #2:

1. Ok, reformat done.

2. Ok, long lines fixed.

3. I can not apply changes, I do not keep tons of unworked versios and do not use any cvs in process.

4. I will need help with documetation.

5. New files added because cmake have configure_file() function, witch expect @VAR_NAME@ to replace, istead %VAR_NAME% in current files. This saves ton of cmake code and make easy to read and understand CMakeFile.txt.
Also I made some small changes to these files.

6. Ok, I try :)

I take CMakeList.txt frome one mine projects and use it as template.
Next I add all staff from original CMakeList.txt.
Then I spent many time trying to fix pc file generetion, build static and shared lib same time, replacing vars in ftconfig.h and ftoption.h.

What new/differ:
1. freetype.pc file generated and installed

2. All staff that install autotool - now installed by cmake.

3. options:
FT_WITH_ZLIB - "Use system zlib instead of internal library."
FT_WITH_BZIP2 - "Support bzip2 compressed fonts."
FT_WITH_PNG - "Support PNG compressed OpenType embedded bitmaps."
FT_WITH_HARFBUZZ - "Improve auto-hinting of OpenType fonts."
FT_WITH_CONFIG - "Install freetype-config."
FT_DISABLE_MMAP - "do not check mmap() and do not use."
ENABLE_FULL_DEBUG - "Build with all possible debug."

4. All options OFF by default, no autodetect.

5. Use hardening things, if compiller/linker support:
"-D_FORTIFY_SOURCE=2"
"-fstack-protector-all"
"-fsanitize=safe-stack"
"-fsanitize=cfi"
"-mretpoline"
"-mfunction-return=thunk"
"-mindirect-branch=thunk"
"-fwrapv"
"-fPIE"
"-pie"
"-Wl,-z,retpolineplt"
"-Wl,-z,relro"
"-Wl,-z,now"
"-Wl,-z,noexecstack"

rim <rim>
Mon 17 Dec 2018 06:57:35 AM UTC, comment #1:

Thanks for your contribution. However, there are very serious problems with your patch.

  • I very much dislike indentation by tabs. AFAIK, this is not necessary for cmake, so please stay with two spaces per indentation level.
  • Similarly, you are introducing overlong lines, which I very much dislike, too. If possible, please stay within a line length of 80 characters – yes, I'm old-fashioned and conservative :-)
  • To make a comparison with your version and the current state possible, please apply your changes incrementally. I want to have a series of patches that introduce your added functionality in steps as small as possible – and formatting should be the last, optional patch in this series.
  • Documentation is completely lacking in case you are adding new features. You must fix this.
  • I dislike that you add new files `freetype-config.cmake' and `freetype2.cmake'. Why? We already have similar files, and maintaining two such files is error-prone. This alone is actually a reason to reject your patch...
  • I need ChangeLog entries for each step (these entries should not be part of the patch files but rather added separately in the preambles of those files).

Please retry.

Werner LEMBERG <wl>
Project Administrator
Mon 17 Dec 2018 02:50:38 AM UTC, original submission:

I have done update CMake files, now they can be used as main build system, at least for FreeBSD.

I try to keep all functionality from autotools and add some hardening and debug features.

rim <rim>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #45763:  0001-Update-CMake-build-scripts.patch added by rim (30KiB - text/x-patch - patch update)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by wl (Posted a comment)
  • -email is unavailable- added by rim (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-12-30 rim Attached File- => Added 0001-Update-CMake-build-scripts.patch, #45783
    2018-12-28 rim Attached File- => Added 0001-Update-CMake-build-scripts.patch, #45763
    2018-12-17 rim Attached File- => Added 0001-Update-CMake-build-scripts.patch, #45678

    Back to the top


    Powered by Savane 3.4