Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
825972a
[wxwidgets] Fix usage, add cmake options
Apr 6, 2021
97887a7
update version record
Apr 6, 2021
b3f72ef
Merge branch 'master' into dev/jack/17072
JackBoosY Apr 8, 2021
18603ea
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/…
Jun 8, 2021
0c86e2e
Merge branch 'dev/jack/17072' of https://github.com/JackBoosY/vcpkg i…
Jun 8, 2021
c6a89eb
[VMSS] Add libgtk-3-dev for wxwidgets
Jun 8, 2021
b433f84
Fix the absolute path generated by wx-config --libs
Jun 8, 2021
b371ba8
re-fix wc-config path
Jun 9, 2021
d31aee1
Fix dll installation, export all targets, fix wrapper.
Jun 9, 2021
73a7c25
Fix export.
Jun 10, 2021
c46a7ed
Fix wrapper
Jun 10, 2021
a4d51f5
[gppanel] Fix dependency wxwidgets
Jun 10, 2021
0781b5e
update baseline
Jun 11, 2021
306721a
Re-export all targets
Jun 11, 2021
aeb13f4
Re-export
Jun 11, 2021
6bc3ea5
Add sub include path to INTERFACE_INCLUDE_DIRECTORIES, replace symbol…
Jun 16, 2021
f4e41de
Re-fix header path on UNIX
Jun 17, 2021
aa14b27
Re-fix wx-config
Jun 17, 2021
ee14116
Re-fix export
Jun 17, 2021
77d7a1b
update version record
Jun 17, 2021
2916414
update version stuff
Jun 18, 2021
86322ea
Fix more abs path in wx-config
Jun 23, 2021
eb44d59
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/…
Jun 24, 2021
d37218d
Fix cuda expression when using file generate
Jun 25, 2021
78ec6ad
add comment
Jun 25, 2021
d7c223a
Fix include path when running wx-config --cxxflags
Jun 25, 2021
3dea1fa
Re-fix path
Jun 25, 2021
07edc7a
Revert wrongly removed wx
Jun 25, 2021
8185348
Re-fix the header path
Jun 25, 2021
8b34467
Update patches.
Jun 30, 2021
f8d98d3
Update versions/w-/wxwidgets.json
JackBoosY Jun 30, 2021
1242197
correct shell
Jul 1, 2021
9cc7939
Merge branch 'dev/jack/17072' of https://github.com/JackBoosY/vcpkg i…
Jul 1, 2021
95d3ad8
update version
Jul 1, 2021
82e8f97
Fix shell
Jul 1, 2021
c8f9956
update version
Jul 1, 2021
2f22c40
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/…
Jul 27, 2021
9f9b55a
Merge https://github.com/microsoft/vcpkg/pull/18580 to this branch
Jul 27, 2021
877de69
Merge branch 'master' into dev/jack/17072
JackBoosY Aug 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion ports/gppanel/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ project(gpPanel CXX)

set(wxWidgets_EXCLUDE_COMMON_LIBRARIES TRUE)
find_package(wxWidgets REQUIRED COMPONENTS core base)
include(${wxWidgets_USE_FILE})

file(GLOB_RECURSE SOURCES "gpPanel/*.cpp")
file(GLOB HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/include" "include/*.h")
Expand Down
2 changes: 1 addition & 1 deletion ports/gppanel/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "gppanel",
"version-date": "2020-05-20",
"port-version": 1,
"port-version": 2,
"description": "gpPanel is chart library for wxWidget. It inheritance from wxPanel and use modified wxMathPlot library at chart engine.",
"homepage": "https://github.com/woollybah/gppanel",
"dependencies": [
Expand Down
223 changes: 223 additions & 0 deletions ports/wxwidgets/export-targets.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4063020..6dfe09c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,3 +78,51 @@ include(build/cmake/main.cmake)
if(wxBUILD_SAMPLES AND wxUSE_GUI)
set_directory_properties(PROPERTIES VS_STARTUP_PROJECT minimal)
endif()
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-wxwidgets-config.cmake.in"
+[[include(CMakeFindDependencyMacro)
+if (@wxUSE_ZLIB@ STREQUAL "sys")
+ find_dependency(ZLIB)
+endif()
+if (@wxUSE_EXPAT@ STREQUAL "sys")
+ find_dependency(EXPAT)
+endif()
+if (@wxUSE_LIBJPEG@ STREQUAL "sys")
+ find_dependency(JPEG)
+endif()
+if (@wxUSE_LIBPNG@ STREQUAL "sys")
+ find_dependency(PNG)
+endif()
+if (@wxUSE_LIBTIFF@ STREQUAL "sys")
+ find_dependency(TIFF)
+endif()
+
+list(APPEND TARGET_FILES wxregex wxscintilla wxbase wxcore)
+if (@wxUSE_OPENGL@)
+ list(APPEND TARGET_FILES wxgl)
+endif()
+if (@wxUSE_XML@)
+ list(APPEND TARGET_FILES wxxml)
+endif()
+list(APPEND TARGET_FILES wxhtml wxxrc wxstc wxwebview)
Copy link
Contributor

@Be-ing Be-ing Aug 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
+list(APPEND TARGET_FILES wxhtml wxxrc wxstc wxwebview)
+list(APPEND TARGET_FILES wxhtml wxxrc wxstc)

Removing wxwebview from this line solves my first issue, but then wxWidgets headers are not included:

In file included from ../libraries/lib-strings/Identifier.cpp:11:
../libraries/lib-strings/Identifier.h:15:10: fatal error: wx/string.h: No such file or directory
   15 | #include <wx/string.h>
      |          ^~~~~~~~~~~~~
compilation terminated.

I tried adding ${wxWidgets_INCLUDES} to the list of include directories but that did not work. I do not have this issue doing find_package(wxWidgets) with upstream wxWidgets 3.1.5 build from source manually. However I can reproduce it with my manual build of wxWidgets if I comment out this line from the application's CMakeLists.txt:

include(${wxWidgets_USE_FILE})

If I try to use that line with this port, it fails because wxWidgets_USE_FILE is empty:

message(STATUS "USE FILE: ${wxWidgets_USE_FILE}")
include(${wxWidgets_USE_FILE})

outputs:

-- USE FILE: 
CMake Error at CMakeLists.txt:584 (include):
  include called with wrong number of arguments.  include() only takes one
  file.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I figured out the issue with wxwebview. On Linux, wxwebview is only built if WebKitGTK is installed. But on Windows it is always built. So the wxwebview target needs to be exported only when it is actually built.

+if (@wxUSE_SOCKETS@)
+ list(APPEND TARGET_FILES wxnet)
+endif()
+list(APPEND TARGET_FILES wxpropgrid)
+if (@wxUSE_DEBUGREPORT@)
+ list(APPEND TARGET_FILES wxqa)
+endif()
+list(APPEND TARGET_FILES wxribbon wxrichtext)
+if (@wxUSE_MEDIACTRL@)
+ list(APPEND TARGET_FILES wxmedia)
+endif()
+list(APPEND TARGET_FILES wxadv wxaui)
+
+foreach (TARGET_FILE ${TARGET_FILES})
+ include("${CMAKE_CURRENT_LIST_DIR}/unofficial-${TARGET_FILE}Targets.cmake")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this rename the target to unofficial-wxWidgets? This makes the port incompatible with CMakeLists.txt written for use without vcpkg.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not rename, since this is not the official changes, according to our policy, we should add unofficial- prefix.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand. This breaks one of the major selling points of vcpkg IMO. I like vcpkg because it doesn't require special case handling in the application's CMakeLists.txt to use vcpkg versus any other package manager or building packages manually. Without vcpkg I can simply use find_package(wxwidgets) using the Findwxwidgets.cmake module included in CMake, but this makes it so that won't work with vcpkg.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Be-ing It doesn't matter, we can add cmake wrapper to use find_package(wxwidgets).

+endforeach()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a wxWidgets::wxWidgets target that links all of the exported targets?

+
+set(wxWidgets_CONFIG_EXECUTABLE "${CMAKE_CURRENT_LIST_DIR}/../../tools/wxwidgets/wx-config")
+]])
+configure_file(${CMAKE_CURRENT_BINARY_DIR}/unofficial-wxwidgets-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/unofficial-wxwidgets-config.cmake @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-wxwidgets-config.cmake DESTINATION share/unofficial-wxwidgets)
\ No newline at end of file
diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake
index e99555e..468426e 100644
--- a/build/cmake/functions.cmake
+++ b/build/cmake/functions.cmake
@@ -257,13 +257,20 @@ function(wx_set_target_properties target_name is_base)
target_include_directories(${target_name}
BEFORE
PUBLIC
- ${wxSETUP_HEADER_PATH}
- ${wxSOURCE_DIR}/include
+ "$<BUILD_INTERFACE:${wxSETUP_HEADER_PATH}>"
+ "$<BUILD_INTERFACE:${wxSOURCE_DIR}/include>"
+ $<INSTALL_INTERFACE:include>
)

+ if (NOT MSVC)
+ target_include_directories(${target_name}
+ PUBLIC $<INSTALL_INTERFACE:include/wx-${wxMAJOR_VERSION}.${wxMINOR_VERSION}>
+ )
+ endif()
+
if(wxTOOLKIT_INCLUDE_DIRS)
target_include_directories(${target_name}
- PUBLIC ${wxTOOLKIT_INCLUDE_DIRS})
+ PUBLIC "$<BUILD_INTERFACE:${wxTOOLKIT_INCLUDE_DIRS}>")
endif()

if (WIN32)
@@ -371,12 +378,14 @@ macro(wx_add_library name)
set_target_properties(${name} PROPERTIES PROJECT_LABEL ${name_short})

# Setup install
- wx_install(TARGETS ${name}
+ wx_install(TARGETS ${name} EXPORT unofficial-${name}Targets
LIBRARY DESTINATION "lib${wxPLATFORM_LIB_DIR}"
ARCHIVE DESTINATION "lib${wxPLATFORM_LIB_DIR}"
RUNTIME DESTINATION "bin${wxPLATFORM_LIB_DIR}"
BUNDLE DESTINATION Applications/wxWidgets
)
+
+ install(EXPORT unofficial-${name}Targets NAMESPACE wx:: DESTINATION share/unofficial-wxwidgets)
endif()
endmacro()

@@ -453,7 +462,18 @@ macro(wx_lib_include_directories name)
if (_LIB_INCLUDE_DIRS_PRIVATE)
set(INCLUDE_POS BEFORE)
endif()
- target_include_directories(${name};${INCLUDE_POS};${ARGN})
+ if (_LIB_INCLUDE_DIRS_PUBLIC)
+ foreach (PUBLIC_DIR ${_LIB_INCLUDE_DIRS_PUBLIC})
+ target_include_directories(${name};${INCLUDE_POS};PUBLIC;$<BUILD_INTERFACE:${PUBLIC_DIR}>)
+ endforeach()
+ endif()
+ if (_LIB_INCLUDE_DIRS_PRIVATE)
+ target_include_directories(${name};${INCLUDE_POS};PRIVATE;${_LIB_INCLUDE_DIRS_PRIVATE})
+ endif()
+ target_include_directories(${name};PUBLIC;$<INSTALL_INTERFACE:include>)
+ if (NOT MSVC)
+ target_include_directories(${name};PUBLIC;$<INSTALL_INTERFACE:include/wx-${wxMAJOR_VERSION}.${wxMINOR_VERSION}>)
+ endif()
endif()
endmacro()

@@ -514,8 +534,14 @@ function(wx_set_builtin_target_properties target_name)
target_include_directories(${target_name}
BEFORE
PUBLIC
- ${wxSETUP_HEADER_PATH}
+ "$<BUILD_INTERFACE:${wxSETUP_HEADER_PATH}>"
+ $<INSTALL_INTERFACE:include>
)
+ if (NOT MSVC)
+ target_include_directories(${target_name}
+ PUBLIC $<INSTALL_INTERFACE:include/wx-${wxMAJOR_VERSION}.${wxMINOR_VERSION}>
+ )
+ endif()

set_target_properties(${target_name} PROPERTIES FOLDER "Third Party Libraries")

@@ -789,10 +815,10 @@ function(wx_add name group)
endif()

if(group STREQUAL Samples)
- target_include_directories(${target_name} PRIVATE ${wxSOURCE_DIR}/samples)
+ target_include_directories(${target_name} PRIVATE "$<BUILD_INTERFACE:${wxSOURCE_DIR}/samples>")
elseif(group STREQUAL Tests)
- target_include_directories(${target_name} PRIVATE ${wxSOURCE_DIR}/tests)
- target_include_directories(${target_name} PRIVATE ${wxSOURCE_DIR}/3rdparty/catch/include)
+ target_include_directories(${target_name} PRIVATE "$<BUILD_INTERFACE:${wxSOURCE_DIR}/tests>")
+ target_include_directories(${target_name} PRIVATE "$<BUILD_INTERFACE:${wxSOURCE_DIR}/3rdparty/catch/include>")
endif()

if(APP_DATA)
diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt
index 5c574c7..5497605 100644
--- a/build/cmake/lib/CMakeLists.txt
+++ b/build/cmake/lib/CMakeLists.txt
@@ -86,11 +86,11 @@ if(wxBUILD_MONOLITHIC)
target_link_libraries(wxmono ${vis} ${wxMONO_LIBS_${vis}})
endif()
if(wxMONO_INCLUDE_DIRS_${vis})
- set(INCLUDE_POS)
if (vis STREQUAL PRIVATE)
- set(INCLUDE_POS BEFORE)
+ target_include_directories(wxmono BEFORE ${vis} ${wxMONO_INCLUDE_DIRS_${vis}})
+ else()
+ target_include_directories(wxmono ${vis} "$<BUILD_INTERFACE:${wxMONO_INCLUDE_DIRS_${vis}}>")
endif()
- target_include_directories(wxmono ${INCLUDE_POS} ${vis} ${wxMONO_INCLUDE_DIRS_${vis}})
endif()
if(wxMONO_DEFINITIONS_${vis})
target_compile_definitions(wxmono ${vis} ${wxMONO_DEFINITIONS_${vis}})
diff --git a/build/cmake/lib/regex.cmake b/build/cmake/lib/regex.cmake
index b28fc2c..a78c2da 100644
--- a/build/cmake/lib/regex.cmake
+++ b/build/cmake/lib/regex.cmake
@@ -18,4 +18,13 @@ if(wxUSE_REGEX)
target_include_directories(wxregex PRIVATE ${wxSETUP_HEADER_PATH} ${wxSOURCE_DIR}/include)
set(REGEX_LIBRARIES wxregex)
set(REGEX_INCLUDE_DIRS ${wxSOURCE_DIR}/src/regex)
+
+ install(TARGETS wxregex EXPORT unofficial-wxregexTargets
+ LIBRARY DESTINATION "lib${wxPLATFORM_LIB_DIR}"
+ ARCHIVE DESTINATION "lib${wxPLATFORM_LIB_DIR}"
+ RUNTIME DESTINATION "bin${wxPLATFORM_LIB_DIR}"
+ BUNDLE DESTINATION Applications/wxWidgets
+ )
+
+ install(EXPORT unofficial-wxregexTargets NAMESPACE wx:: DESTINATION share/unofficial-wxwidgets)
endif()
diff --git a/build/cmake/lib/stc/CMakeLists.txt b/build/cmake/lib/stc/CMakeLists.txt
index bd6acd8..c8c5ff5 100644
--- a/build/cmake/lib/stc/CMakeLists.txt
+++ b/build/cmake/lib/stc/CMakeLists.txt
@@ -182,6 +182,15 @@ if(wxBUILD_PRECOMP)
wx_target_enable_precomp(wxscintilla ${wxSCINTILLA_PREC_HEADER})
endif()

+install(TARGETS wxscintilla EXPORT unofficial-wxscintillaTargets
+ LIBRARY DESTINATION "lib${wxPLATFORM_LIB_DIR}"
+ ARCHIVE DESTINATION "lib${wxPLATFORM_LIB_DIR}"
+ RUNTIME DESTINATION "bin${wxPLATFORM_LIB_DIR}"
+ BUNDLE DESTINATION Applications/wxWidgets
+ )
+
+install(EXPORT unofficial-wxscintillaTargets NAMESPACE wx:: DESTINATION share/unofficial-wxwidgets)
+
wx_add_library(wxstc ${STC_FILES})
wx_lib_include_directories(wxstc PRIVATE
${wxSOURCE_DIR}/src/stc/scintilla/include
diff --git a/build/cmake/lib/webview/CMakeLists.txt b/build/cmake/lib/webview/CMakeLists.txt
index cc3298f..1d47e56 100644
--- a/build/cmake/lib/webview/CMakeLists.txt
+++ b/build/cmake/lib/webview/CMakeLists.txt
@@ -132,8 +132,8 @@ if(WXGTK AND wxUSE_WEBVIEW_WEBKIT2)
)

target_include_directories(wxwebkit2_ext PUBLIC
- ${LIBSOUP_INCLUDE_DIRS}
- ${WEBKIT2_INCLUDE_DIR}
+ "$<BUILD_INTERFACE:${LIBSOUP_INCLUDE_DIRS}>"
+ "$<BUILD_INTERFACE:${WEBKIT2_INCLUDE_DIR}>"
)
target_link_libraries(wxwebkit2_ext PUBLIC
${LIBSOUP_LIBRARIES}
13 changes: 13 additions & 0 deletions ports/wxwidgets/fix-file-generate.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/build/cmake/modules/cotire.cmake b/build/cmake/modules/cotire.cmake
index bb69643..99b0cb6 100644
--- a/build/cmake/modules/cotire.cmake
+++ b/build/cmake/modules/cotire.cmake
@@ -2371,7 +2371,7 @@ function (cotire_generate_target_script _language _configurations _target _targe
# use file(GENERATE ...) to expand generator expressions in the target script at CMake generate-time
set (_configNameOrNoneGeneratorExpression "$<$<CONFIG:>:None>$<$<NOT:$<CONFIG:>>:$<CONFIGURATION>>")
set (_targetCotireConfigScript "${CMAKE_CURRENT_BINARY_DIR}/${_target}_${_language}_${_configNameOrNoneGeneratorExpression}_${_moduleName}")
- file (GENERATE OUTPUT "${_targetCotireConfigScript}" INPUT "${_targetCotireScript}")
+ file (GENERATE OUTPUT "${_targetCotireConfigScript}" INPUT "${_targetCotireScript}" TARGET "${_target}")
else()
set (_targetCotireConfigScript "${_targetCotireScript}")
endif()
13 changes: 13 additions & 0 deletions ports/wxwidgets/fix-install-path.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake
index 902b7c5..e99555e 100644
--- a/build/cmake/functions.cmake
+++ b/build/cmake/functions.cmake
@@ -374,7 +374,7 @@ macro(wx_add_library name)
wx_install(TARGETS ${name}
LIBRARY DESTINATION "lib${wxPLATFORM_LIB_DIR}"
ARCHIVE DESTINATION "lib${wxPLATFORM_LIB_DIR}"
- RUNTIME DESTINATION "lib${wxPLATFORM_LIB_DIR}"
+ RUNTIME DESTINATION "bin${wxPLATFORM_LIB_DIR}"
BUNDLE DESTINATION Applications/wxWidgets
)
endif()
38 changes: 38 additions & 0 deletions ports/wxwidgets/fix-wx-config-path.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake
index 968dff8..4699f63 100644
--- a/build/cmake/install.cmake
+++ b/build/cmake/install.cmake
@@ -44,10 +44,12 @@ else()
)

install(DIRECTORY DESTINATION "bin")
+ install(FILES ${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID}
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin RENAME wx-config
+ )
install(CODE "execute_process( \
- COMMAND ${CMAKE_COMMAND} -E create_symlink \
- ${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID} \
- ${CMAKE_INSTALL_PREFIX}/bin/wx-config \
+ COMMAND sh -c \"chmod u+x \
+ ${CMAKE_INSTALL_PREFIX}/bin/wx-config\" \
)"
)
endif()
diff --git a/wx-config.in b/wx-config.in
index 441f88c..ca68a80 100644
--- a/wx-config.in
+++ b/wx-config.in
@@ -402,7 +402,12 @@ is_cross() { [ "x@cross_compiling@" = "xyes" ]; }


# Determine the base directories we require.
-prefix=${input_option_prefix-${this_prefix:-@prefix@}}
+base_folder=$(dirname $(readlink -f "$0"))
+if [ "@CMAKE_BUILD_TYPE@" = "Debug" ]; then
+ prefix=${input_option_prefix-${this_prefix:-${base_folder}/../../..}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than in my PR, this doesn't add the debug directory component which is needed to locate debug/lib.
(Not sure about include now.)

+else
+ prefix=${input_option_prefix-${this_prefix:-${base_folder}/../..}}
+fi
exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}}
wxconfdir="@libdir@/wx/config"

46 changes: 46 additions & 0 deletions ports/wxwidgets/fix-wxconfig-libs-output.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake
index 91d11ac..4e22ee9 100644
--- a/build/cmake/config.cmake
+++ b/build/cmake/config.cmake
@@ -41,7 +41,40 @@ macro(wx_get_dependencies var lib)
endif()
set(dep_name "-l${dep_name}")
else()
- get_filename_component(dep_name ${dep} NAME)
+ if (CMAKE_BUILD_TYPE STREQUAL "Release")
+ # For "$<$<CONFIG:DEBUG>:"
+ set(CONFIG_TYPE_INVERT "CONFIG:DEBUG>:")
+ else()
+ # For "$<$<NOT:$<CONFIG:DEBUG>>:"
+ set(CONFIG_TYPE_INVERT "CONFIG:DEBUG>>:")
+ endif()
+ if (dep MATCHES "${CONFIG_TYPE_INVERT}")
+ continue()
+ endif()
+ string(REGEX REPLACE "^.+>:(.+)>$" "\\1" dep_path ${dep})
+ if (NOT dep_path)
+ set(dep_name ${dep})
+ else()
+ string(REGEX MATCH "^-.*$" ADDED_PREFIX ${dep_path})
+ if (ADDED_PREFIX)
+ set(dep_name ${dep_path})
+ else()
+ get_filename_component(abs_path ${dep_path} PATH)
+ if (NOT abs_path)
+ string(REGEX MATCH "^lib(.*).a$" CURR_STATIC_NAME ${dep_path})
+ string(REGEX MATCH "^lib(.*).so$" CURR_DYNAMIC_NAME ${dep_path})
+ if (CURR_STATIC_NAME)
+ set(dep_name "-l${CURR_STATIC_NAME}")
+ elseif (CURR_DYNAMIC_NAME)
+ set(dep_name "-l${CURR_DYNAMIC_NAME}")
+ else()
+ set(dep_name "-l${dep_path}")
+ endif()
+ else()
+ set(dep_name ${dep_path})
+ endif()
+ endif()
+ endif()
endif()
wx_string_append(${var} "${dep_name} ")
endforeach()
Loading