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