UsewxWidgets.cmake 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # - Convenience include for using wxWidgets library
  2. # Finds if wxWidgets is installed
  3. # and set the appropriate libs, incdirs, flags etc.
  4. # INCLUDE_DIRECTORIES, LINK_DIRECTORIES and ADD_DEFINITIONS
  5. # are called.
  6. #
  7. # USAGE
  8. # SET( wxWidgets_USE_LIBS gl xml xrc ) # optionally: more than wx std libs
  9. # FIND_PACKAGE(wxWidgets REQUIRED)
  10. # INCLUDE( ${xWidgets_USE_FILE} )
  11. # ... add your targets here, e.g. ADD_EXECUTABLE/ ADD_LIBRARY ...
  12. # TARGET_LINK_LIBRARIERS( <yourWxDependantTarget> ${wxWidgets_LIBRARIES})
  13. #
  14. # DEPRECATED
  15. # LINK_LIBRARIES is not called in favor of adding dependencies per target.
  16. #
  17. # AUTHOR
  18. # Jan Woetzel <jw -at- mip.informatik.uni-kiel.de>
  19. # debug message and logging.
  20. # comment these out for distribution
  21. IF (NOT LOGFILE )
  22. # SET(LOGFILE "${PROJECT_BINARY_DIR}/CMakeOutput.log")
  23. ENDIF (NOT LOGFILE )
  24. MACRO(MSG _MSG)
  25. # FILE(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}\n")
  26. # MESSAGE(STATUS "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
  27. ENDMACRO(MSG)
  28. MSG("wxWidgets_FOUND=${wxWidgets_FOUND}")
  29. IF (wxWidgets_FOUND)
  30. IF (wxWidgets_INCLUDE_DIRS)
  31. IF(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
  32. INCLUDE_DIRECTORIES(${wxWidgets_INCLUDE_DIRS})
  33. ELSE(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
  34. INCLUDE_DIRECTORIES(SYSTEM ${wxWidgets_INCLUDE_DIRS})
  35. ENDIF(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
  36. MSG("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}")
  37. ENDIF(wxWidgets_INCLUDE_DIRS)
  38. IF (wxWidgets_LIBRARY_DIRS)
  39. LINK_DIRECTORIES(${wxWidgets_LIBRARY_DIRS})
  40. MSG("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}")
  41. ENDIF(wxWidgets_LIBRARY_DIRS)
  42. IF (wxWidgets_DEFINITIONS)
  43. SET_PROPERTY(DIRECTORY APPEND
  44. PROPERTY COMPILE_DEFINITIONS ${wxWidgets_DEFINITIONS})
  45. MSG("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}")
  46. ENDIF(wxWidgets_DEFINITIONS)
  47. IF (wxWidgets_DEFINITIONS_DEBUG)
  48. SET_PROPERTY(DIRECTORY APPEND
  49. PROPERTY COMPILE_DEFINITIONS_DEBUG ${wxWidgets_DEFINITIONS_DEBUG})
  50. MSG("wxWidgets_DEFINITIONS_DEBUG=${wxWidgets_DEFINITIONS_DEBUG}")
  51. ENDIF(wxWidgets_DEFINITIONS_DEBUG)
  52. IF (wxWidgets_CXX_FLAGS)
  53. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${wxWidgets_CXX_FLAGS}")
  54. MSG("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
  55. ENDIF(wxWidgets_CXX_FLAGS)
  56. # DEPRECATED JW
  57. # just for backward compatibility: add deps to all targets
  58. # library projects better use advanced FIND_PACKAGE(wxWidgets) directly.
  59. #IF(wxWidgets_LIBRARIES)
  60. # LINK_LIBRARIES(${wxWidgets_LIBRARIES})
  61. # # BUG: str too long: MSG("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}")
  62. # IF(LOGFILE)
  63. # FILE(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${wxWidgets_LIBRARIES}\n")
  64. # ENDIF(LOGFILE)
  65. #ENDIF(wxWidgets_LIBRARIES)
  66. ELSE (wxWidgets_FOUND)
  67. MESSAGE("wxWidgets requested but not found.")
  68. ENDIF(wxWidgets_FOUND)