[Git][wxwidgets/wxwidgets][master] 2 commits: Fix static CMake build using external WebP library

3 views
Skip to first unread message

Vadim Zeitlin (@_VZ_)

unread,
Sep 10, 2025, 8:15:22 AMSep 10
to wx-commi...@googlegroups.com

Vadim Zeitlin pushed to branch master at wxWidgets / wxWidgets

Commits:

  • c6ddb6ef
    by Maarten Bent at 2025-09-10T13:45:45+02:00
    Fix static CMake build using external WebP library
    
    Define WebP_LIBRARIES and WebP_INCLUDE_DIRS in the parent scope,
    otherwise the caller never gets the values found by either
    find_package() or pkg_check_modules().
    
    Closes #25786.
    
  • 771d4df4
    by Chris Mayo at 2025-09-10T13:48:38+02:00
    CMake: improve handling of wxBUILD_INSTALL_LIBRARY_DIR
    
    Install wx/config and wx/include into wxBUILD_INSTALL_LIBRARY_DIR.
    
    Closes #25746.
    

4 changed files:

Changes:

  • build/cmake/config.cmake
    ... ... @@ -106,11 +106,12 @@ function(wx_write_config_inplace)
    106 106
     endfunction()
    
    107 107
     
    
    108 108
     function(wx_write_config)
    
    109
    +    wx_get_install_dir(library "lib")
    
    109 110
     
    
    110 111
         set(prefix ${CMAKE_INSTALL_PREFIX})
    
    111 112
         set(exec_prefix "\${prefix}")
    
    112 113
         set(includedir "\${prefix}/include")
    
    113
    -    set(libdir "\${exec_prefix}/lib")
    
    114
    +    set(libdir "\${exec_prefix}/${library_dir}")
    
    114 115
         set(bindir "\${exec_prefix}/bin")
    
    115 116
     
    
    116 117
         if(wxBUILD_MONOLITHIC)
    

  • build/cmake/install.cmake
    ... ... @@ -36,26 +36,28 @@ if(MSVC)
    36 36
         )
    
    37 37
     endif()
    
    38 38
     
    
    39
    +wx_get_install_dir(library "lib")
    
    40
    +
    
    39 41
     # setup header and wx-config
    
    40 42
     if(WIN32_MSVC_NAMING)
    
    41 43
         # create both Debug and Release directories, so CMake doesn't complain about
    
    42 44
         # non-existent path when only Release or Debug build has been installed
    
    43 45
         set(lib_unicode "u")
    
    44 46
         install(DIRECTORY
    
    45
    -        DESTINATION "lib/${wxPLATFORM_LIB_DIR}/${wxBUILD_TOOLKIT}${lib_unicode}")
    
    47
    +        DESTINATION "${library_dir}/${wxBUILD_TOOLKIT}${lib_unicode}")
    
    46 48
         install(DIRECTORY
    
    47
    -        DESTINATION "lib/${wxPLATFORM_LIB_DIR}/${wxBUILD_TOOLKIT}${lib_unicode}d")
    
    49
    +        DESTINATION "${library_dir}/${wxBUILD_TOOLKIT}${lib_unicode}d")
    
    48 50
         install(
    
    49 51
             DIRECTORY "${wxSETUP_HEADER_PATH}"
    
    50
    -        DESTINATION "lib/${wxPLATFORM_LIB_DIR}")
    
    52
    +        DESTINATION "${library_dir}")
    
    51 53
     else()
    
    52 54
         install(
    
    53 55
             DIRECTORY "${wxSETUP_HEADER_PATH}"
    
    54
    -        DESTINATION "lib/wx/include")
    
    56
    +        DESTINATION "${library_dir}/wx/include")
    
    55 57
     
    
    56 58
         install(
    
    57 59
             FILES "${wxOUTPUT_DIR}/wx/config/${wxBUILD_FILE_ID}"
    
    58
    -        DESTINATION "lib/wx/config"
    
    60
    +        DESTINATION "${library_dir}/wx/config"
    
    59 61
             PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
    
    60 62
                         GROUP_EXECUTE GROUP_READ
    
    61 63
                         WORLD_EXECUTE WORLD_READ
    
    ... ... @@ -64,7 +66,7 @@ else()
    64 66
         install(DIRECTORY DESTINATION "bin")
    
    65 67
         install(CODE "execute_process( \
    
    66 68
             COMMAND ${CMAKE_COMMAND} -E create_symlink \
    
    67
    -        \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID}\" \
    
    69
    +        \"${CMAKE_INSTALL_PREFIX}/${library_dir}/wx/config/${wxBUILD_FILE_ID}\" \
    
    68 70
             \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wx-config\" \
    
    69 71
             )"
    
    70 72
         )
    

  • build/cmake/modules/FindWebP.cmake
    ... ... @@ -6,3 +6,6 @@ if(NOT WebP_FOUND)
    6 6
             pkg_check_modules(WebP libwebp)
    
    7 7
         endif()
    
    8 8
     endif()
    
    9
    +
    
    10
    +set(WebP_LIBRARIES ${WebP_LIBRARIES} PARENT_SCOPE)
    
    11
    +set(WebP_INCLUDE_DIRS ${WebP_INCLUDE_DIRS} PARENT_SCOPE)

  • build/cmake/utils/CMakeLists.txt
    ... ... @@ -40,7 +40,7 @@ if(wxUSE_XRC)
    40 40
             # Don't use wx_install() here to preserve escaping.
    
    41 41
             install(CODE "execute_process( \
    
    42 42
                 COMMAND ${CMAKE_COMMAND} -E create_symlink \
    
    43
    -            \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/${wxrc_output_name}${EXE_SUFFIX}\" \
    
    43
    +            \"${CMAKE_INSTALL_PREFIX}/bin/${wxrc_output_name}${EXE_SUFFIX}\" \
    
    44 44
                 \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX}\" \
    
    45 45
                 )"
    
    46 46
             )
    

Reply all
Reply to author
Forward
0 new messages