CMake: Use IN_LIST operator instead of list(FIND )

This commit is contained in:
Maarten Bent 2024-01-28 17:09:55 +01:00
parent 395a61fc9a
commit e2302a834e
No known key found for this signature in database
GPG key ID: 58AAEE3F4A4FD070
2 changed files with 13 additions and 18 deletions

View file

@ -137,15 +137,12 @@ function(wx_write_config)
set(STD_BASE_LIBS_ALL xml net base)
set(STD_GUI_LIBS_ALL xrc html qa adv core)
foreach(lib IN ITEMS xrc webview stc richtext ribbon propgrid aui gl media html qa adv core xml net base)
list(FIND wxLIB_TARGETS wx${lib} hasLib)
if (hasLib GREATER -1)
if (wx${lib} IN_LIST wxLIB_TARGETS)
wx_string_append(BUILT_WX_LIBS "${lib} ")
list(FIND STD_BASE_LIBS_ALL ${lib} index)
if (index GREATER -1)
if (${lib} IN_LIST STD_BASE_LIBS_ALL)
wx_string_append(STD_BASE_LIBS "${lib} ")
endif()
list(FIND STD_GUI_LIBS_ALL ${lib} index)
if (index GREATER -1)
if (${lib} IN_LIST STD_GUI_LIBS_ALL)
wx_string_append(STD_GUI_LIBS "${lib} ")
endif()
endif()

View file

@ -81,19 +81,18 @@ foreach(libname @wxLIB_TARGETS@)
# use the Release configuration for MinSizeRel and RelWithDebInfo configurations
# only when Release target exists, and MinSizeRel/RelWithDebInfo doesn't exist
get_target_property(configs wx::${libname} IMPORTED_CONFIGURATIONS)
list(FIND configs "RELEASE" idxSrc)
if(idxSrc GREATER -1)
list(FIND configs "MINSIZEREL" idxSrc)
list(FIND CMAKE_CONFIGURATION_TYPES "MinSizeRel" idxDst)
if(idxSrc EQUAL -1 AND (idxDst GREATER -1 OR CMAKE_BUILD_TYPE STREQUAL "MinSizeRel"))
if("RELEASE" IN_LIST configs)
if(NOT "MINSIZEREL" IN_LIST configs)
if("MinSizeRel" IN_LIST CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
set_target_properties(wx::${libname} PROPERTIES MAP_IMPORTED_CONFIG_MINSIZEREL "Release")
endif()
list(FIND configs "RELWITHDEBINFO" idxSrc)
list(FIND CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" idxDst)
if(idxSrc EQUAL -1 AND (idxDst GREATER -1 OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))
endif()
if(NOT "RELWITHDEBINFO" IN_LIST configs)
if("RelWithDebInfo" IN_LIST CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
set_target_properties(wx::${libname} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO "Release")
endif()
endif()
endif()
# add an alias from wx::<lib> to wx::wx<lib>
if(CMAKE_VERSION VERSION_LESS "3.18")
@ -117,8 +116,7 @@ foreach(libname @wxLIB_TARGETS@)
endif()
# add to FindwxWidgets variable
list(FIND @PROJECT_NAME@_FIND_COMPONENTS ${name} idx)
if(NOT @PROJECT_NAME@_FIND_COMPONENTS OR idx GREATER -1)
if(NOT @PROJECT_NAME@_FIND_COMPONENTS OR ${name} IN_LIST @PROJECT_NAME@_FIND_COMPONENTS)
list(APPEND wxWidgets_LIBRARIES wx::${name})
if(CREATE_WX_TARGET)
target_link_libraries(wxWidgets::wxWidgets INTERFACE wx::${name})