Using Rocky Linux 9.1
CMake-3.9.4 (it's part of a toolchain, I have had the same luck with CMake-3.25)
The curious thing is that this same setup worked just fine on CentOS-7. Tis is a summary of the top level CMakeLists.txt:
Code: Select all
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules)
# Load the expected versions of third party libraries
include(version_module)
make_minimum_required(VERSION ${CMAKE_VERSION}...3.9)
set_filename_component(ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../.. REALPATH)
include(project_CMakeLists)
Code: Select all
project(foo)
set(wxWidgets_LIBS base core net adv webview)
if (STEP STREQUAL tools)
add_subdirectory(tools)
else()
add_subdirectory(foo_bar)
endif()
Code: Select all
project(tools)
set(CMAKE_MODULE_PATH
${PROJECT_SOURCE_DIR}/cmake_modules
${CMAKE_MODULE_PATH})
include(wxWidgets)
Code: Select all
set(WXWIDGETS_NAME wxWidgets-${WXWIDGETS_VERSION})
set(WXWIDGETS_SRC ${TOOLCHAIN_DIR}/src/${WXWIDGETS_NAME})
set(WXWIDGETS_OBJ ${TOOLCHAIN_DIR}/obj/${WXWIDGETS_NAME})
if (DEFINED test AND test MATCHES "ON")
set(WXWIDGETS_INSTALL ${TOOLCHAIN_DIR}/bin/${WXWIDGETS_NAME}/Debug)
set(WXWIDGETS_DEBUG "--enable-debug")
else()
set(WXWIDGETS_INSTALL ${TOOLCHAIN_DIR}/bin/${WXWIDGETS_NAME}/Release)
set(WXWIDGETS_DEBUG "--disable-debug")
endif()
MESSAGE(STATUS "+++DEBUG wxWidgets_CONFIG_EXECUTABLE ${WXWIDGETS_INSTALL}/bin/wx-config")
set(wxWidgets_CONFIG_EXECUTABLE "${WXWIDGETS_INSTALL}/bin/wx-config")
find_package(wxWidgets COMPONENTS base core adv QUIET NO_DEFAULT_PATH)
if (NOT wxWidgets_FOUND)
ExternalProject_Add(
wxWidgets
URL file://${ROOT_DIR}/thirdparty/${WXWIDGETS_NAME}.tar.bz2
URL_HASH SHA256=e082460fb6bf14b7dd6e8ac142598d1d3d0b08a7b5ba402fdbf8711da7e66da8
BINARY_DIR ${WXWIDGETS_OBJ}
INSTALL_DIR ${WXWIDGETS_INSTALL}
UPDATE_COMMAND ""
PATCH_COMMAND ""
CONFIGURE_COMMAND ${WXWIDGETS_SRC}/configure CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} --with-gtk=3 --with-gtk_prefix=/usr/share/gtk-3.0 --with-gtk_exec_prefix=/usr/lib64/gtk-3.0 --enable-graphics_ctx --enable-webkit --enable-unicode --disable-ribbon --disable-richtext --disable-xrc --disable-detect_sm --disable-mediactrl --disable-mdi --disable-gtktest --disable-sdltest ${WXWIDGETS_DEBUG} --prefix=${WXWIDGETS_INSTALL} --disable-sys-libs --without-opengl --without-libnotify --without-gtkprint
BUILD_COMMAND make
INSTALL_COMMAND make install
SOURCE_DIR ${WXWIDGETS_SRC}
BUILD_IN_SOURCE 0
)
endif()
Code: Select all
project(foo_bar)
set(CMAKE_MODULE_PATH
${PROJECT_SOURCE_DIR}/cmake_modules
${CMAKE_MODULE_PATH})
include(bar_CMakeLists)
Code: Select all
include(wxwidgets)
Code: Select all
set(WXWIDGETS_NAME wxWidgets-${WXWIDGETS_VERSION})
set(WXWIDGETS_INSTALL ${TOOLCHAIN_DIR}/bin/${WXWIDGETS_NAME}/Release)
set(wxWidgets_CONFIG_EXECUTABLE "${WXWIDGETS_INSTALL}/bin/wx-config")
find_package(wxWidgets ${WXWIDGETS_VERSION} EXACT REQUIRED ${wxWidgets_LIBS})
Code: Select all
CMake Error at /home/u_name/temp/toolchain/bin/cmake-3.9.4/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
wxWidgets_INCLUDE_DIRS) (Required is exact version "3.1.0")
Code: Select all
set(WXWIDGETS_NAME wxWidgets-${WXWIDGETS_VERSION})
set(WXWIDGETS_INSTALL ${TOOLCHAIN_DIR}/bin/${WXWIDGETS_NAME}/Release)
set(wxWidgets_CONFIG_EXECUTABLE "${WXWIDGETS_INSTALL}/bin/wx-config")
set(ENV{WX_CONFIG} ${wxWidgets_CONFIG_EXECUTABLE})
execute_process(
COMMAND sh ${wxWidgets_CONFIG_EXECUTABLE} --version
OUTPUT_VARIABLE WX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
if("${WX_VERSION}" VERSION_LESS "3.1.0")
message(
FATAL_ERROR
"I'm afraid your wxWidgets version is too old.\nBuilding CodeLite requires at least wxWidgets-3.1.0"
)
else()
MESSAGE(STATUS "WX_VERSION found: ${WX_VERSION}")
endif()
execute_process(
COMMAND ${wxWidgets_CONFIG_EXECUTABLE} --selected_config
OUTPUT_VARIABLE WX_GTK_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(SUBSTRING "${WX_GTK_VERSION}" "3" "1" GTK_VERSION)
message("-- gtk version is: ${GTK_VERSION}")
if(wxWidgets_FOUND)
message("+++DEBUG FOUND Widgets")
include(${wxWidgets_USE_FILE})
endif()
And you can see from the output it found and used the wx-config tool:
Code: Select all
-- WX_VERSION found: 3.1.0
-- gtk version is: 3