]> Creatis software - crea.git/blobdiff - cmake/CREAMacro_FindAndUseWxWidgets.cmake
3388 TDx
[crea.git] / cmake / CREAMacro_FindAndUseWxWidgets.cmake
index 969300c73478ef2338d415e949462b8c1612da53..baf698e29f2d2afcc7f2b0c67dcb686729e8770b 100644 (file)
@@ -1,7 +1,7 @@
 # ---------------------------------------------------------------------
 #
 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
-#                        pour la Santé)
+#                        pour la Santé©
 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
 #=======================================================================
 MACRO(CREA_FIND_WXWIDGETS)
   IF(WIN32)
-    # Search WXWIDGETS
-    
-    #  WXWINDOWS_LIBRARY         = full path to the wxWindows library and linker flags on unix
-    #  CMAKE_WX_CXX_FLAGS        = compiler flags for building wxWindows 
-    #  WXWINDOWS_INCLUDE_PATH    = include path of wxWindows
-    SET(WXWINDOWS_USE_GL 1)
-    
-    #wxWidgets build related stuff
-    # DO NOT FORCE DEBUG LIBS !!
-       SET(WXW_USE_DEBUG OFF)
-    SET(WXW_USE_UNICODE OFF)
-    SET(WXW_USE_SHARED ON)
-    SET(WXW_USE_UNIV OFF)
-    SET(WXW_USE_MONO OFF)
-    SET(WXW_FILE_VERSION "28")
-    SET(WXW_VERSION "2.8")
-    
-    #CMake Options
-    # Why forcing verbosity ?
-    # SET(CMAKE_VERBOSE_MAKEFILE TRUE)
-    
-    INCLUDE (${CREA_CMAKE_DIR}/FindWxWidgetsWin32.cmake)
-    #
+#    # Search WXWIDGETS   
+#    #  WXWINDOWS_LIBRARY         = full path to the wxWindows library and linker flags on unix
+#    #  CMAKE_WX_CXX_FLAGS        = compiler flags for building wxWindows 
+#    #  WXWINDOWS_INCLUDE_PATH    = include path of wxWindows
+#    SET(WXWINDOWS_USE_GL 1)
+#    #wxWidgets build related stuff
+#    # DO NOT FORCE DEBUG LIBS !!
+#    SET(WXW_USE_DEBUG OFF)
+#    SET(WXW_USE_UNICODE OFF)
+#    SET(WXW_USE_SHARED ON)
+#    SET(WXW_USE_UNIV OFF)
+#    SET(WXW_USE_MONO OFF)
+#    SET(WXW_FILE_VERSION "28")
+#    SET(WXW_VERSION "2.8")
+#    #CMake Options
+#    # Why forcing verbosity ?
+#    # SET(CMAKE_VERBOSE_MAKEFILE TRUE)
+#    INCLUDE (${CREA_CMAKE_DIR}/FindWxWidgetsWin32.cmake)
+#    #
+  
+#      find_package(wxwidgets REQUIRED COMPONENTS base core advanced adv html xml aui)
+       find_package(wxwidgets REQUIRED  )
+
   
   ELSE(WIN32)
-    IF(NOT wxWidgets_FOUND)
-    # CMake 2.6:
-    # technically those packages are not required 
-    # since one can still use the Motif/X11 version and not the gtk one:
-    FIND_PACKAGE(PkgConfig)
-    pkg_check_modules (GTK2 gtk+-2.0)
-    #MESSAGE("${GTK2_INCLUDE_DIRS}")
-    # Can I require all my user to have the gl lib on linux, even if they do not really need it...
-#EED  SET(WXGLCANVASLIBS "gl")
-    # aui ?
-    SET(WXAUILIBS "aui")
-    # LG : These options should be set by the user at top level of crea
-    FIND_PACKAGE(wxWidgets COMPONENTS base core adv html 
+
+         MESSAGE ( "===============Manual wx-config 3 EED =======================")
+
+##2018-08-28     
+ if(APPLE)
+    message("EED CREAMacro_FindAndUseWxWidgets APPLE.  forsing wxWidgets_CONFIG_EXECUTABLE.   wxWidgets_wxrc_EXECUTABLE ")
+  SET(wxWidgets_CONFIG_EXECUTABLE  /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wx-config CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
+       SET(wxWidgets_wxrc_EXECUTABLE   /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wxrc-3.0 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
+ elseif(APPLE)
+           message("EED CREAMacro_FindAndUseWxWidgets UNIX")
+               #MESSAGE ( "===============Manual wx-config 2 EED =======================")
+               #SET(wxWidgets_CONFIG_EXECUTABLE /usr/bin/wx-config-2.0 CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
+               #SET(wxWidgets_wxrc_EXECUTABLE /usr/bin/wxrc-2.8 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
+      SET(wxWidgets_CONFIG_EXECUTABLE /usr/bin/wx-config-3.0 CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
+         SET(wxWidgets_wxrc_EXECUTABLE /usr/bin/wxrc-3.0 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
+       # CMake 2.6:
+       # technically those packages are not required 
+       # since one can still use the Motif/X11 version and not the gtk one:
+      FIND_PACKAGE(PkgConfig REQUIRED)
+       ##    pkg_check_modules (GTK2 gtk+-2.0)
+       ##    pkg_check_modules (GTK322 gtk+-3.0)
+      pkg_check_modules (GTK3 REQUIRED gtk+-3.0)
+endif(APPLE)
+
+      # Can I require all my user to have the gl lib on linux, even if they do not really need it...
+      SET(WXGLCANVASLIBS "gl")   
+
+      SET(WXAUILIBS "aui")
+      # LG : These options should be set by the user at top level of crea
+      FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS base core adv html
       ${WXAUILIBS}
-      ${WXGLCANVASLIBS})
-    #
+      ${WXGLCANVASLIBS}
+    )
     IF(wxWidgets_FOUND)
       MESSAGE ( STATUS "=======================================")
       MESSAGE ( STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}")
     ENDIF(wxWidgets_FOUND)
-    ENDIF(NOT wxWidgets_FOUND)
+    
   ENDIF(WIN32)
   
-
-
 ENDMACRO(CREA_FIND_WXWIDGETS)
 #=======================================================================
 
@@ -87,42 +102,65 @@ MACRO(CREA_USE_WXWIDGETS)
   # Preprocessor settings
   CREA_DEFINE( USE_WXWIDGETS )
   CREA_DEFINE( _USE_WXWIDGETS_ )
-  #
+ #
   IF(WIN32)
-    # Clean ?
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
-    SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
-    #
-    ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
-    #
-    INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
-    LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
-    SET(WXWIDGETS_LIBRARIES
-      ${WXWIDGETS_LIBRARIES}  
-#DO NOT FORCE DEBUG LIBS !!
-      debug wxmsw28d_aui
-      optimized wxmsw28_aui
-      debug msvcrtd
-      debug msvcprtd
-      optimized msvcrt
-      optimized msvcprt
-      )
+#    # Clean ?
+#    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
+#    SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
+#    #
+#    ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
+#    #
+#    INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
+#    LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
+#    SET(WXWIDGETS_LIBRARIES
+#      ${WXWIDGETS_LIBRARIES}  
+##DO NOT FORCE DEBUG LIBS !!
+#      debug wxmsw28d_aui
+#      optimized wxmsw28_aui
+#      debug msvcrtd
+#      debug msvcprtd
+#      optimized msvcrt
+#      optimized msvcprt
+#      )
+         
+       include(${wxWidgets_USE_FILE})
+       
+       SET(WXWIDGETS_LIBRARIES ${wxWidgets_LIBRARIES}   
+                   "${wxWidgets_LIB_DIR}/libwxmsw30u_aui.a"   
+                               "${wxWidgets_LIB_DIR}/libwxmsw30u_webview.a"    
+                               "${wxWidgets_LIB_DIR}/libwxmsw30u_html.a"   
+                               "${wxWidgets_LIB_DIR}/libwxmsw30u_adv.a" )        
   ELSE(WIN32)
-    # GTK2
-    INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
-    LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
-    LINK_LIBRARIES(${GTK2_LIBRARIES})
-    # WX
+  
+
+    IF(APPLE)
+        INCLUDE( ${wxWidgets_USE_FILE} )
+        MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
+        SET(WXWIDGETS_LIBRARIES
+            ${wxWidgets_LIBRARIES}
+        )
+
+message("EED WXWIDGETS_LIBRARIES: "  ${WXWIDGETS_LIBRARIES} )
 
+    ELSEIF(APPLE)
+               ##    # GTK2
+               ##    INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
+               ##    LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
+               ##    LINK_LIBRARIES(${GTK2_LIBRARIES})
+       # GTK3
+        INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
+        LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
+        LINK_LIBRARIES(${GTK3_LIBRARIES} )
+        message("EED GTK3_VERSION "${GTK3_VERSION})
+       # WX
+               #    INCLUDE( ${GTK_USE_FILE} )
+       INCLUDE( ${wxWidgets_USE_FILE} )
+       MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
+       SET(WXWIDGETS_LIBRARIES      ${GTK3_LIBRARIES}  )
+##     SET(WXWIDGETS_LIBRARIES      ${GTK3_LIBRARIES}                  #${GTK_LIBRARIES} )
+    ENDIF(APPLE)
 
-#    INCLUDE( ${GTK_USE_FILE} )
-    INCLUDE( ${wxWidgets_USE_FILE} )
-    MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
-    SET(WXWIDGETS_LIBRARIES
-      ${GTK2_LIBRARIES}
-      #${GTK_LIBRARIES}
-      ${wxWidgets_LIBRARIES}
-      )
   ENDIF(WIN32)
 ENDMACRO(CREA_USE_WXWIDGETS)
 #=======================================================================