# 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( ${wxWidgets_LIBRARIES}) # # # # DEPRECATED # # :: # # LINK_LIBRARIES is not called in favor of adding dependencies per target. # # # # AUTHOR # # :: # # Jan Woetzel # 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()