]> Creatis software - crea.git/blobdiff - cmake/CREAMacro_FindAndUseWxWidgets.cmake
vtk8itk4wx3-mingw64 MACOS
[crea.git] / cmake / CREAMacro_FindAndUseWxWidgets.cmake
index 1ef548c81ef9d6475b6b849473dde1f60e4ba62c..24c6c8646473fef06fcbd7a965ef3550bd2b4b4f 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 REQUIRED)
 
-##    pkg_check_modules (GTK2 gtk+-2.0)
-##    pkg_check_modules (GTK322 gtk+-3.0)
-    pkg_check_modules (GTK3 REQUIRED gtk+-3.0)
+         MESSAGE ( "===============Manual wx-config 3 EED =======================")
 
-    #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 
+##2018-08-28     
+ if(APPLE)
+    message("EED CREAMacro_FindAndUseWxWidgets APPLE.  forsing wxWidgets_CONFIG_EXECUTABLE.   wxWidgets_wxrc_EXECUTABLE ")
+       set(wxWidgets_CONFIGURATION mswu)
+    set(wxWidgets_USE_LIBS)
+    #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)
+       #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)
+ elseif(UNIX)
+           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)
 #=======================================================================
 
@@ -91,46 +103,62 @@ 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})
-    # GTK3
-    INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
-    LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
-    LINK_LIBRARIES(${GTK3_LIBRARIES})
-    # WX
+  
+
 
+               ##    # GTK2
+               ##    INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
+               ##    LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
+               ##    LINK_LIBRARIES(${GTK2_LIBRARIES})
+        ##    SET(WXWIDGETS_LIBRARIES
+        ##                 GTK2
+        ##                 ${GTK2_LIBRARIES}
+        ##               #${GTK_LIBRARIES}
+        ##                 ${wxWidgets_LIBRARIES}      
+        ##             )
+               
+       # GTK3
+       INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
+       LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
+       # WX
+               #    INCLUDE( ${GTK_USE_FILE} )
+       INCLUDE( ${wxWidgets_USE_FILE} )
+       MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
+       SET(WXWIDGETS_LIBRARIES
+               ${GTK3_LIBRARIES}
+               ${wxWidgets_LIBRARIES}      
+               )
 
-#    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)
 #=======================================================================