]> Creatis software - crea.git/blob - cmake/CREAMacro_wxWidgets.cmake
56bde2df4f2c82413765d96b0fdac277dec0aa2a
[crea.git] / cmake / CREAMacro_wxWidgets.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     # CMake 2.6:
31     # technically those packages are not required 
32     # since one can still use the Motif/X11 version and not the gtk one:
33     FIND_PACKAGE(PkgConfig)
34     pkg_check_modules (GTK2 gtk+-2.0)
35     #MESSAGE("${GTK2_INCLUDE_DIRS}")
36     # Can I require all my user to have the gl lib on linux, even if they do not really need it...
37     SET(WXGLCANVASLIBS "gl")
38     # aui ?
39     SET(WXAUILIBS "aui")
40     # LG : These options should be set by the user at top level of crea
41     FIND_PACKAGE(wxWidgets COMPONENTS base core adv 
42       ${WXAUILIBS}
43       ${WXGLCANVASLIBS})
44     #
45     IF(wxWidgets_FOUND)
46       MESSAGE(STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}")
47     ENDIF(wxWidgets_FOUND)
48   ENDIF(WIN32)
49   
50
51
52 ENDMACRO(CREA_FIND_WXWIDGETS)
53 #=======================================================================
54
55 #=======================================================================
56 MACRO(CREA_USE_WXWIDGETS)
57   # Preprocessor settings
58   CREA_DEFINE( USE_WXWIDGETS )
59   #
60   IF(WIN32)
61     # Clean ?
62     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
63     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
64     #
65     ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
66     #
67     INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
68     LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
69     SET(WXWIDGETS_LIBRARIES
70       ${WXWIDGETS_LIBRARIES}     
71       ${WXWIDGETS_LIBRARIES} wxmsw28d_aui      
72       debug msvcrtd
73       debug msvcprtd
74       optimized msvcrt
75       optimized msvcprt
76       )
77   ELSE(WIN32)
78     # GTK2
79     INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
80     LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
81     LINK_LIBRARIES(${GTK2_LIBRARIES})
82     # WX
83
84
85 #    INCLUDE( ${GTK_USE_FILE} )
86     INCLUDE( ${wxWidgets_USE_FILE} )
87     MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
88     SET(WXWIDGETS_LIBRARIES
89       ${GTK2_LIBRARIES}
90       #${GTK_LIBRARIES}
91       ${wxWidgets_LIBRARIES}
92       )
93   ENDIF(WIN32)
94 ENDMACRO(CREA_USE_WXWIDGETS)
95 #=======================================================================