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