123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- # 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()
|