]> Creatis software - crea.git/blob - cmake/CREAMacro_FindAndUseWxWidgets.cmake
vtk8itk4wx3-mingw64 MACOS
[crea.git] / cmake / CREAMacro_FindAndUseWxWidgets.cmake
1 # ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
4 #                        pour la Santé©
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and 
10 #  abiding by the rules of distribution of free software. You can  use, 
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
12 #  license as circulated by CEA, CNRS and INRIA at the following URL 
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability. 
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */ 
25
26
27 #=======================================================================
28 # Looks for WxWidgets
29 #=======================================================================
30 MACRO(CREA_FIND_WXWIDGETS)
31   IF(WIN32)
32 #    # Search WXWIDGETS   
33 #    #  WXWINDOWS_LIBRARY         = full path to the wxWindows library and linker flags on unix
34 #    #  CMAKE_WX_CXX_FLAGS        = compiler flags for building wxWindows 
35 #    #  WXWINDOWS_INCLUDE_PATH    = include path of wxWindows
36 #    SET(WXWINDOWS_USE_GL 1)
37 #    #wxWidgets build related stuff
38 #    # DO NOT FORCE DEBUG LIBS !!
39 #    SET(WXW_USE_DEBUG OFF)
40 #    SET(WXW_USE_UNICODE OFF)
41 #    SET(WXW_USE_SHARED ON)
42 #    SET(WXW_USE_UNIV OFF)
43 #    SET(WXW_USE_MONO OFF)
44 #    SET(WXW_FILE_VERSION "28")
45 #    SET(WXW_VERSION "2.8")
46 #    #CMake Options
47 #    # Why forcing verbosity ?
48 #    # SET(CMAKE_VERBOSE_MAKEFILE TRUE)
49 #    INCLUDE (${CREA_CMAKE_DIR}/FindWxWidgetsWin32.cmake)
50 #    #
51   
52 #       find_package(wxwidgets REQUIRED COMPONENTS base core advanced adv html xml aui)
53         find_package(wxwidgets REQUIRED  )
54
55   
56   ELSE(WIN32)
57
58           MESSAGE ( "===============Manual wx-config 3 EED =======================")
59
60 ##2018-08-28      
61  if(APPLE)
62     message("EED CREAMacro_FindAndUseWxWidgets APPLE.  forsing wxWidgets_CONFIG_EXECUTABLE.   wxWidgets_wxrc_EXECUTABLE ")
63         set(wxWidgets_CONFIGURATION mswu)
64     set(wxWidgets_USE_LIBS)
65     #EED2021-08-25 SET(wxWidgets_CONFIG_EXECUTABLE  /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wx-config CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
66         #EED2021-08-25 SET(wxWidgets_wxrc_EXECUTABLE   /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wxrc-3.0 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
67  elseif(UNIX)
68             message("EED CREAMacro_FindAndUseWxWidgets UNIX")
69                 #MESSAGE ( "===============Manual wx-config 2 EED =======================")
70                 #SET(wxWidgets_CONFIG_EXECUTABLE /usr/bin/wx-config-2.0 CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
71                 #SET(wxWidgets_wxrc_EXECUTABLE /usr/bin/wxrc-2.8 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
72         SET(wxWidgets_CONFIG_EXECUTABLE /usr/bin/wx-config-3.0 CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
73             SET(wxWidgets_wxrc_EXECUTABLE /usr/bin/wxrc-3.0 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
74         # CMake 2.6:
75         # technically those packages are not required 
76         # since one can still use the Motif/X11 version and not the gtk one:
77         FIND_PACKAGE(PkgConfig REQUIRED)
78         ##    pkg_check_modules (GTK2 gtk+-2.0)
79         ##    pkg_check_modules (GTK322 gtk+-3.0)
80         pkg_check_modules (GTK3 REQUIRED gtk+-3.0)
81  endif(APPLE)
82
83       # Can I require all my user to have the gl lib on linux, even if they do not really need it...
84       SET(WXGLCANVASLIBS "gl")    
85       SET(WXAUILIBS "aui")
86       # LG : These options should be set by the user at top level of crea
87       FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS base core adv html
88       ${WXAUILIBS}
89       ${WXGLCANVASLIBS}
90     )
91     IF(wxWidgets_FOUND)
92       MESSAGE ( STATUS "=======================================")
93       MESSAGE ( STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}")
94     ENDIF(wxWidgets_FOUND)
95     
96   ENDIF(WIN32)
97   
98 ENDMACRO(CREA_FIND_WXWIDGETS)
99 #=======================================================================
100
101 #=======================================================================
102 MACRO(CREA_USE_WXWIDGETS)
103   # Preprocessor settings
104   CREA_DEFINE( USE_WXWIDGETS )
105   CREA_DEFINE( _USE_WXWIDGETS_ )
106  
107  #
108   IF(WIN32)
109 #    # Clean ?
110 #    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
111 #    SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
112 #    #
113 #    ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
114 #    #
115 #    INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
116 #    LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
117 #    SET(WXWIDGETS_LIBRARIES
118 #      ${WXWIDGETS_LIBRARIES}  
119 ##DO NOT FORCE DEBUG LIBS !!
120 #      debug wxmsw28d_aui
121 #      optimized wxmsw28_aui
122 #      debug msvcrtd
123 #      debug msvcprtd
124 #      optimized msvcrt
125 #      optimized msvcprt
126 #      )
127           
128         include(${wxWidgets_USE_FILE})
129         
130         SET(WXWIDGETS_LIBRARIES ${wxWidgets_LIBRARIES}   
131                     "${wxWidgets_LIB_DIR}/libwxmsw30u_aui.a"   
132                                 "${wxWidgets_LIB_DIR}/libwxmsw30u_webview.a"    
133                                 "${wxWidgets_LIB_DIR}/libwxmsw30u_html.a"   
134                                 "${wxWidgets_LIB_DIR}/libwxmsw30u_adv.a" )        
135   ELSE(WIN32)
136   
137
138
139                 ##    # GTK2
140                 ##    INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
141                 ##    LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
142                 ##    LINK_LIBRARIES(${GTK2_LIBRARIES})
143         ##    SET(WXWIDGETS_LIBRARIES
144         ##                  GTK2
145         ##                  ${GTK2_LIBRARIES}
146         ##        #${GTK_LIBRARIES}
147         ##          ${wxWidgets_LIBRARIES}      
148         ##              )
149                 
150         # GTK3
151         INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
152         LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
153         # WX
154                 #    INCLUDE( ${GTK_USE_FILE} )
155         INCLUDE( ${wxWidgets_USE_FILE} )
156         MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
157         SET(WXWIDGETS_LIBRARIES
158                 ${GTK3_LIBRARIES}
159                 ${wxWidgets_LIBRARIES}      
160                 )
161
162   ENDIF(WIN32)
163 ENDMACRO(CREA_USE_WXWIDGETS)
164 #=======================================================================
165
166 #=======================================================================
167 MACRO(CREA_FIND_AND_USE_WXWIDGETS)
168   CREA_FIND_WXWIDGETS()
169   CREA_USE_WXWIDGETS()
170 ENDMACRO(CREA_FIND_AND_USE_WXWIDGETS)
171 #=======================================================================