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_BASE_LIBS_ALL xml net base)
set(STD_GUI_LIBS_ALL xrc html qa adv core) 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) 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 (wx${lib} IN_LIST wxLIB_TARGETS)
if (hasLib GREATER -1)
wx_string_append(BUILT_WX_LIBS "${lib} ") wx_string_append(BUILT_WX_LIBS "${lib} ")
list(FIND STD_BASE_LIBS_ALL ${lib} index) if (${lib} IN_LIST STD_BASE_LIBS_ALL)
if (index GREATER -1)
wx_string_append(STD_BASE_LIBS "${lib} ") wx_string_append(STD_BASE_LIBS "${lib} ")
endif() endif()
list(FIND STD_GUI_LIBS_ALL ${lib} index) if (${lib} IN_LIST STD_GUI_LIBS_ALL)
if (index GREATER -1)
wx_string_append(STD_GUI_LIBS "${lib} ") wx_string_append(STD_GUI_LIBS "${lib} ")
endif() endif()
endif() endif()

View file

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