I was learning CMake and wanted to try it out to compile a test wxWidgets application, which I previously successfully compiled under Windows. However, I've never used CMake before, but back then I set it up using Visual Studio manually.
So I looked at some tutorials online, and compiled a basic hello world application (command line) in C++ using CMake, and it worked fine. Then I installed wxWidgets using brew.
brew install wxmac
It did install and I could run the wx-config
tool successfully. I can also see the files in the finder. Then I added this to my CMakeLists.txt
file.
project(wxWidgetsTest)
cmake_minimum_required(VERSION 2.8)
find_package(wxWidgets COMPONENTS core base wxSTC wxAUI REQUIRED)
include( "${wxWidgets_USE_FILE}" )
add_executable(
${PROJECT_NAME}
main.cpp
)
target_link_libraries(
${PROJECT_NAME}
${wxWidgets_LIBRARIES}
)
But however, when I tried to generate the build files, I'm using the command:
cmake -G "Unix Makefiles" ..
And it fails saying that find_package
cannot find the wxWidgets library. This is the error output:
CMake Error at /usr/local/Cellar/cmake/3.11.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES)
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.11.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/local/Cellar/cmake/3.11.1/share/cmake/Modules/FindwxWidgets.cmake:953 (find_package_handle_standard_args)
CMakeLists.txt:5 (find_package)
The wxWidgets library is installed at /usr/local/Cellar/wxmac/3.0.4/
What did I do wrong here?
After six hours of fiddling, I found a new configuration option in the findWxWidgets script which is a needed configuration.
All I had to do is to specify the location of the wx-config
file.
cmake -G "Unix Makefiles" .. -DwxWidgets_CONFIG_EXECUTABLE=/usr/local/Cellar/wxmac/3.0.4/bin/wx-config
And it was able to find the wxWidgets library. Seems to be a simple error on my part.
This is the source where I found: http://cmake.3232098.n2.nabble.com/Can-t-find-wxWidgets-tp7591015p7591017.html