| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| # file Copyright.txt or https://cmake.org/licensing for details. |
| |
| #[=======================================================================[.rst: |
| UsewxWidgets |
| ------------ |
| |
| Convenience include for using wxWidgets library. |
| |
| Determines if wxWidgets was FOUND and sets the appropriate libs, |
| incdirs, flags, etc. INCLUDE_DIRECTORIES and LINK_DIRECTORIES are |
| called. |
| |
| USAGE |
| |
| :: |
| |
| # Note that for MinGW users the order of libs is important! |
| find_package(wxWidgets REQUIRED net gl core base) |
| include(${wxWidgets_USE_FILE}) |
| # and for each of your dependent executable/library targets: |
| target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES}) |
| |
| |
| |
| DEPRECATED |
| |
| :: |
| |
| LINK_LIBRARIES is not called in favor of adding dependencies per target. |
| |
| |
| |
| AUTHOR |
| |
| :: |
| |
| Jan Woetzel <jw -at- mip.informatik.uni-kiel.de> |
| #]=======================================================================] |
| |
| # debug message and logging. |
| # comment these out for distribution |
| if (NOT LOGFILE ) |
| # set(LOGFILE "${PROJECT_BINARY_DIR}/CMakeOutput.log") |
| endif () |
| macro(MSG _MSG) |
| # file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}\n") |
| # message(STATUS "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}") |
| endmacro() |
| |
| |
| MSG("wxWidgets_FOUND=${wxWidgets_FOUND}") |
| if (wxWidgets_FOUND) |
| if (wxWidgets_INCLUDE_DIRS) |
| if(wxWidgets_INCLUDE_DIRS_NO_SYSTEM) |
| include_directories(${wxWidgets_INCLUDE_DIRS}) |
| else() |
| include_directories(SYSTEM ${wxWidgets_INCLUDE_DIRS}) |
| endif() |
| MSG("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}") |
| endif() |
| |
| if (wxWidgets_LIBRARY_DIRS) |
| link_directories(${wxWidgets_LIBRARY_DIRS}) |
| MSG("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}") |
| endif() |
| |
| if (wxWidgets_DEFINITIONS) |
| set_property(DIRECTORY APPEND |
| PROPERTY COMPILE_DEFINITIONS ${wxWidgets_DEFINITIONS}) |
| MSG("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}") |
| endif() |
| |
| if (wxWidgets_DEFINITIONS_DEBUG) |
| set_property(DIRECTORY APPEND |
| PROPERTY COMPILE_DEFINITIONS_DEBUG ${wxWidgets_DEFINITIONS_DEBUG}) |
| MSG("wxWidgets_DEFINITIONS_DEBUG=${wxWidgets_DEFINITIONS_DEBUG}") |
| endif() |
| |
| if (wxWidgets_CXX_FLAGS) |
| # Flags are expected to be a string here, not a list. |
| string(REPLACE ";" " " wxWidgets_CXX_FLAGS_str "${wxWidgets_CXX_FLAGS}") |
| string(APPEND CMAKE_CXX_FLAGS " ${wxWidgets_CXX_FLAGS_str}") |
| MSG("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS_str}") |
| unset(wxWidgets_CXX_FLAGS_str) |
| endif() |
| |
| # DEPRECATED JW |
| # just for backward compatibility: add deps to all targets |
| # library projects better use advanced find_package(wxWidgets) directly. |
| #if(wxWidgets_LIBRARIES) |
| # link_libraries(${wxWidgets_LIBRARIES}) |
| # # BUG: str too long: MSG("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}") |
| # if(LOGFILE) |
| # file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${wxWidgets_LIBRARIES}\n") |
| # endif() |
| #endif() |
| |
| else () |
| message("wxWidgets requested but not found.") |
| endif() |