]> Creatis software - crea.git/blob - cmake/CREAMacro_wxWidgets.cmake
CMake 2.6 compatibility :
[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     # GTK2
39  #   INCLUDE(${CREA_CMAKE_DIR}/FindGTK2_new.cmake)
40     # WX
41     # LG : Do not force but use what is installed !
42     # SET(wxWidgets_USE_LIBS base core gl)
43     #FIND_PACKAGE( GTK REQUIRED) 
44 #    FIND_PACKAGE( wxWidgets REQUIRED) 
45     FIND_PACKAGE(wxWidgets COMPONENTS base core adv ${WXGLCANVASLIBS})
46     #
47     IF(wxWidgets_FOUND)
48       MESSAGE(STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}")
49     ENDIF(wxWidgets_FOUND)
50   ENDIF(WIN32)
51   
52
53
54 ENDMACRO(CREA_FIND_WXWIDGETS)
55 #=======================================================================
56
57 #=======================================================================
58 MACRO(CREA_USE_WXWIDGETS)
59   # Preprocessor settings
60   CREA_DEFINE( USE_WXWIDGETS )
61   #
62   IF(WIN32)
63     # Clean ?
64     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
65     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
66     #
67     ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
68     #
69     INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
70     LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
71     SET(WXWIDGETS_LIBRARIES
72       ${WXWIDGETS_LIBRARIES}     
73       ${WXWIDGETS_LIBRARIES} wxmsw28d_aui      
74       debug msvcrtd
75       debug msvcprtd
76       optimized msvcrt
77       optimized msvcprt
78       )
79   ELSE(WIN32)
80     # GTK2
81     INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
82     LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
83     LINK_LIBRARIES(${GTK2_LIBRARIES})
84     # WX
85
86
87 #    INCLUDE( ${GTK_USE_FILE} )
88     INCLUDE( ${wxWidgets_USE_FILE} )
89     MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
90     SET(WXWIDGETS_LIBRARIES
91       ${GTK2_LIBRARIES}
92       #${GTK_LIBRARIES}
93       ${wxWidgets_LIBRARIES}
94       )
95   ENDIF(WIN32)
96 ENDMACRO(CREA_USE_WXWIDGETS)
97 #=======================================================================