X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2FCREAMacro_FindAndUseWxWidgets.cmake;h=18df9d2b231a9fe75437cca8557597203fc3b58d;hb=refs%2Fheads%2Fvtk7itk4wx3-mxecc;hp=1ef548c81ef9d6475b6b849473dde1f60e4ba62c;hpb=e84f23420375acf1dda8fe99cb08b1733c49b996;p=crea.git diff --git a/cmake/CREAMacro_FindAndUseWxWidgets.cmake b/cmake/CREAMacro_FindAndUseWxWidgets.cmake index 1ef548c..18df9d2 100644 --- a/cmake/CREAMacro_FindAndUseWxWidgets.cmake +++ b/cmake/CREAMacro_FindAndUseWxWidgets.cmake @@ -29,29 +29,45 @@ #======================================================================= 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) - # + if (DEFINED CREA_USE_MXE) + SET(WXGLCANVASLIBS "gl") + 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 + ${WXAUILIBS} + ${WXGLCANVASLIBS}) + IF(wxWidgets_FOUND) + MESSAGE ( STATUS "=======================================") + MESSAGE ( STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}") + MESSAGE(STATUS "wxWidgets_INCLUDE_DIRS = ${wxWidgets_INCLUDE_DIRS}") + ELSE(wxWidgets_FOUND) + MESSAGE ( ERROR "EED cmake ERROR : wxWidgets not found") + ENDIF(wxWidgets_FOUND) + ELSE(DEFINED CREA_USE_MXE) + # 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) + # + ENDIF (DEFINED CREA_USE_MXE) ELSE(WIN32) IF(NOT wxWidgets_FOUND) @@ -63,14 +79,14 @@ MACRO(CREA_FIND_WXWIDGETS) ## pkg_check_modules (GTK2 gtk+-2.0) ## pkg_check_modules (GTK322 gtk+-3.0) pkg_check_modules (GTK3 REQUIRED gtk+-3.0) + #MESSAGE("${GTK3_INCLUDE_DIRS}") - #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(WXGLCANVASLIBS "gl") + 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 + FIND_PACKAGE(wxWidgets COMPONENTS base core adv html ${WXAUILIBS} ${WXGLCANVASLIBS}) # @@ -91,26 +107,43 @@ 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 - ) + if (DEFINED CREA_USE_MXE) + include(${wxWidgets_USE_FILE}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${wxWidgets_CXX_FLAGS}") + INCLUDE_DIRECTORIES(${wxWidgets_INCLUDE_DIRS}) + LINK_DIRECTORIES( ${wxWidgets_LIBRARY_DIRS} ) + SET(WXWIDGETS_LIBRARIES + ${wxWidgets_LIBRARIES} + ) + + MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B wxWidgets_INCLUDE_DIRS = ${wxWidgets_INCLUDE_DIRS}") + MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B wxWidgets_DEFINITIONS = ${wxWidgets_DEFINITIONS}") + MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B wxWidgets_LIBRARY_DIRS = ${wxWidgets_LIBRARY_DIRS}") + MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B wxWidgets_LIBRARIES = ${wxWidgets_LIBRARIES}") + MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B wxWidgets_USE_FILE = ${wxWidgets_USE_FILE}") + + + ELSE(DEFINED CREA_USE_MXE) + # 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 + ) + ENDIF (DEFINED CREA_USE_MXE) ELSE(WIN32) ## # GTK2 ## INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS}) @@ -119,7 +152,7 @@ MACRO(CREA_USE_WXWIDGETS) # GTK3 INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS}) LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS}) - LINK_LIBRARIES(${GTK3_LIBRARIES}) + LINK_LIBRARIES(${GTK3_LIBRARIES} ) # WX @@ -127,10 +160,14 @@ MACRO(CREA_USE_WXWIDGETS) INCLUDE( ${wxWidgets_USE_FILE} ) MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE) SET(WXWIDGETS_LIBRARIES - ${GTK2_LIBRARIES} +## GTK2 +## ${GTK2_LIBRARIES} + ${GTK3_LIBRARIES} #${GTK_LIBRARIES} + ${wxWidgets_LIBRARIES} ) + ENDIF(WIN32) ENDMACRO(CREA_USE_WXWIDGETS) #=======================================================================