]> Creatis software - crea.git/blob - cmake/CREAMacro_FindAndUseWxWidgets.cmake
*** empty log message ***
[crea.git] / cmake / CREAMacro_FindAndUseWxWidgets.cmake
1 #=======================================================================
2 # Looks for WxWidgets
3 #=======================================================================
4 MACRO(CREA_FIND_WXWIDGETS)
5   IF(WIN32)
6     # Search WXWIDGETS
7     
8     #  WXWINDOWS_LIBRARY         = full path to the wxWindows library and linker flags on unix
9     #  CMAKE_WX_CXX_FLAGS        = compiler flags for building wxWindows 
10     #  WXWINDOWS_INCLUDE_PATH    = include path of wxWindows
11     SET(WXWINDOWS_USE_GL 1)
12     
13     #wxWidgets build related stuff
14     # DO NOT FORCE DEBUG LIBS !!
15     SET(WXW_USE_DEBUG OFF)
16     SET(WXW_USE_UNICODE OFF)
17     SET(WXW_USE_SHARED ON)
18     SET(WXW_USE_UNIV OFF)
19     SET(WXW_USE_MONO OFF)
20     SET(WXW_FILE_VERSION "28")
21     SET(WXW_VERSION "2.8")
22     
23     #CMake Options
24     # Why forcing verbosity ?
25     # SET(CMAKE_VERBOSE_MAKEFILE TRUE)
26     
27     INCLUDE (${CREA_CMAKE_DIR}/FindWxWidgetsWin32.cmake)
28     #
29   
30   ELSE(WIN32)
31     IF(NOT wxWidgets_FOUND)
32     # CMake 2.6:
33     # technically those packages are not required 
34     # since one can still use the Motif/X11 version and not the gtk one:
35     FIND_PACKAGE(PkgConfig)
36     pkg_check_modules (GTK2 gtk+-2.0)
37     #MESSAGE("${GTK2_INCLUDE_DIRS}")
38     # Can I require all my user to have the gl lib on linux, even if they do not really need it...
39 #EED  SET(WXGLCANVASLIBS "gl")
40     # aui ?
41     SET(WXAUILIBS "aui")
42     # LG : These options should be set by the user at top level of crea
43     FIND_PACKAGE(wxWidgets COMPONENTS base core adv html 
44       ${WXAUILIBS}
45       ${WXGLCANVASLIBS})
46     #
47     IF(wxWidgets_FOUND)
48       MESSAGE ( STATUS "=======================================")
49       MESSAGE ( STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}")
50     ENDIF(wxWidgets_FOUND)
51     ENDIF(NOT wxWidgets_FOUND)
52   ENDIF(WIN32)
53   
54
55
56 ENDMACRO(CREA_FIND_WXWIDGETS)
57 #=======================================================================
58
59 #=======================================================================
60 MACRO(CREA_USE_WXWIDGETS)
61   # Preprocessor settings
62   CREA_DEFINE( USE_WXWIDGETS )
63   CREA_DEFINE( _USE_WXWIDGETS_ )
64   #
65   IF(WIN32)
66     # Clean ?
67     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
68     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
69     #
70     ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
71     #
72     INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
73     LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
74     SET(WXWIDGETS_LIBRARIES
75       ${WXWIDGETS_LIBRARIES}  
76 #DO NOT FORCE DEBUG LIBS !!
77       debug wxmsw28d_aui
78       optimized wxmsw28_aui
79       debug msvcrtd
80       debug msvcprtd
81       optimized msvcrt
82       optimized msvcprt
83       )
84   ELSE(WIN32)
85     # GTK2
86     INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
87     LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
88     LINK_LIBRARIES(${GTK2_LIBRARIES})
89     # WX
90
91
92 #    INCLUDE( ${GTK_USE_FILE} )
93     INCLUDE( ${wxWidgets_USE_FILE} )
94     MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
95     SET(WXWIDGETS_LIBRARIES
96       ${GTK2_LIBRARIES}
97       #${GTK_LIBRARIES}
98       ${wxWidgets_LIBRARIES}
99       )
100   ENDIF(WIN32)
101 ENDMACRO(CREA_USE_WXWIDGETS)
102 #=======================================================================
103
104 #=======================================================================
105 MACRO(CREA_FIND_AND_USE_WXWIDGETS)
106   CREA_FIND_WXWIDGETS()
107   CREA_USE_WXWIDGETS()
108 ENDMACRO(CREA_FIND_AND_USE_WXWIDGETS)
109 #=======================================================================