diff options
Diffstat (limited to 'Source/WXDialog/bin/FindwxWin.cmake')
-rw-r--r-- | Source/WXDialog/bin/FindwxWin.cmake | 440 |
1 files changed, 440 insertions, 0 deletions
diff --git a/Source/WXDialog/bin/FindwxWin.cmake b/Source/WXDialog/bin/FindwxWin.cmake new file mode 100644 index 0000000..67ef392 --- /dev/null +++ b/Source/WXDialog/bin/FindwxWin.cmake @@ -0,0 +1,440 @@ +##--------------------------------------------------------------------------- +## $RCSfile$ +## $Source$ +## $Revision$ +## $Date$ +##--------------------------------------------------------------------------- +## Author: Jorgen Bodde +## Copyright: (c) Jorgen Bodde +## License: wxWidgets License +##--------------------------------------------------------------------------- +## +## This module finds if wxWindows 2.5.x / 2.6.x is installed and determines +## where the include files and seperate libraries are. It also determines what +## the name of the library is. +## +## WARNING: Monolithic build support is not present here (it is not desired +## by wxWidgets anyway). Also the shared DLL option is not yet present. +## +## Current working combinations are; +## - Static debug and release libs +## - Static unicode debug and release libs +## - Static universal unicode debug and release libs +## - Static unicode universal unicode debug and release libs +## +## +## The linux part of this CMake file is unaltered and will always use because of +## 'wx-config'. The linux part will not use the WX_LIB_IGNORE vars because of +## the way wxWidgets is built and configured. +## +## This code sets the following variables: +## +## ------------------------------------------------------------------ +## +## WXWINDOWS_FOUND = system has WxWindows (in desired config. build) +## +## WXWINDOWS_LIBRARIES = full path to the wxWindows libraries +## on Unix/Linux with additional linker flags from +## "wx-config --libs" +## +## CMAKE_WXWINDOWS_CXX_FLAGS = Unix compiler flags for wxWindows, essentially +## "`wx-config --cxxflags`" +## +## WXWINDOWS_INCLUDE_DIR = where to find headers "wx/wx.h" "wx/setup.h" +## +## WXWINDOWS_LINK_DIRECTORIES = link directories, useful for rpath on Unix +## +## WXWINDOWS_DEFINITIONS = extra defines +## + +IF( WIN32 ) + + ## + ## Find root path of wxWidgets, either in the registry or as environment var + ## + + SET (WXWINDOWS_POSSIBLE_ROOT_PATHS + $ENV{WXWIN} + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWindows_is1;Inno Setup: App Path]" ) + + FIND_PATH(WXWIDGETS_PATH_ROOT include/wx/wx.h + ${WXWINDOWS_POSSIBLE_ROOT_PATHS} ) + + SET(WXWINDOWS_FOUND 0) + IF(NOT WXWIDGETS_PATH_ROOT) + MESSAGE(SEND_ERROR "wxWidgets root is not found. Please point out the wxWidgets root using the WXWIN environment var") + ENDIF(NOT WXWIDGETS_PATH_ROOT) + + OPTION(WX_USE_DEBUG_ONLY "Only attempt to setup the debug libraries, ignore the release libraries." ON) + + ## Find a multi library path, this is the path where the seperate libs are located + SET(WXMSW_SETUPH "wx/setup.h") + + SET(WXDEBUG_POSTFIX "") + IF(WX_USE_DEBUG_ONLY) + SET(WXDEBUG_POSTFIX "d") + ENDIF(WX_USE_DEBUG_ONLY) + + ## Try the VS compilation path + SET(WXWINDOWS_POSSIBLE_SETUPH + "${WXWIDGETS_PATH_ROOT}/lib/vc_lib/msw${WXDEBUG_POSTFIX}/${WXMSW_SETUPH}") + + ## Try borland and VS7 path + IF(EXISTS ${WXWINDOWS_POSSIBLE_SETUPH}) + SET(WXWINDOWS_POSSIBLE_MULTILIB_PATHS + "${WXWIDGETS_PATH_ROOT}/lib/vc_lib") + ELSE(EXISTS ${WXWINDOWS_POSSIBLE_SETUPH}) + ## Try the borland path + SET(WXWINDOWS_POSSIBLE_SETUPH + "${WXWIDGETS_PATH_ROOT}/lib/bcc_lib/msw${WXDEBUG_POSTFIX}/${WXMSW_SETUPH}") + IF(EXISTS ${WXWINDOWS_POSSIBLE_SETUPH}) + SET(WXWINDOWS_POSSIBLE_MULTILIB_PATHS + "${WXWIDGETS_PATH_ROOT}/lib/bcc_lib") + ELSE(EXISTS ${WXWINDOWS_POSSIBLE_SETUPH}) + MESSAGE(SEND_ERROR "wxWidgets libraries are not found.") + ENDIF(EXISTS ${WXWINDOWS_POSSIBLE_SETUPH}) + ENDIF(EXISTS ${WXWINDOWS_POSSIBLE_SETUPH}) + + ## Ask user what config should be used, after asking, verify if it will work + OPTION(WX_LINK_AGAINST_UNIVERSAL "Use wxWidgets universal builds" OFF) + OPTION(WX_LINK_AGAINST_UNICODE "Use wxWidgets unicode builds" OFF) + + SET(WXMSW_SETUPH "wx/setup.h") + + SET(WX_RELEASE 0) + SET(WX_DEBUG 0) + + SET(WX_RELEASE_UNI 0) + SET(WX_DEBUG_UNI 0) + + SET(WX_RELEASE_UNIV 0) + SET(WX_DEBUG_UNIV 0) + + SET(WX_RELEASE_UNIV_UNI 0) + SET(WX_DEBUG_UNIV_UNI 0) + + SET(WX_FOUND_VALID_CONF 0) + + ## Scan for wxWidgets static multilib release + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/msw/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_RELEASE 1) + SET(WX_RELEASE_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/msw/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/msw/${WXMSW_SETUPH}") + + ## Scan for wxWidgets static multilib debug + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswd/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_DEBUG 1) + SET(WX_DEBUG_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswd/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswd/${WXMSW_SETUPH}") + + ## Scan for wxWidgets multilib unicode + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswu/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_RELEASE_UNI 1) + SET(WX_RELEASE_UNI_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswu/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswu/${WXMSW_SETUPH}") + + ## Scan for wxWidgets multilib unicode debug + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswud/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_DEBUG_UNI 1) + SET(WX_DEBUG_UNI_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswu/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswud/${WXMSW_SETUPH}") + + ## Scan for wxWidgets multilib universal + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswuniv/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_RELEASE_UNIV 1) + SET(WX_RELEASE_UNIV_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswuniv/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswuniv/${WXMSW_SETUPH}") + + ## Scan for wxWidgets multilib universal debug + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivd/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_DEBUG_UNIV 1) + SET(WX_DEBUG_UNIV_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivd/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivd/${WXMSW_SETUPH}") + + ## Scan for wxWidgets multilib universal unicode + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivu/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_RELEASE_UNIV_UNI 1) + SET(WX_RELEASE_UNIV_UNI_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivu/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivu/${WXMSW_SETUPH}") + + ## Scan for wxWidgets multilib universal unicode debug + IF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivud/${WXMSW_SETUPH}") + SET(WX_FOUND_VALID_CONF 1) + SET(WX_DEBUG_UNIV_UNI 1) + SET(WX_DEBUG_UNIV_UNI_SETUPH ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivud/${WXMSW_SETUPH} ) + ENDIF(EXISTS "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/mswunivud/${WXMSW_SETUPH}") + + ## If no valid config is found, mention this + IF(NOT WX_FOUND_VALID_CONF) + MESSAGE(SEND_ERROR "Did not found a valid setup.h for any library. Please compile your wxWidgets libraries first") + ENDIF(NOT WX_FOUND_VALID_CONF) + + ## Search for wx version automatically + SET (WXVERSION "") + + SET(WXLIBS + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase25.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase25d.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase25u.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase25ud.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv25_core.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv25d_core.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv25u_core.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv25ud_core.lib" ) + + FOREACH(WXLIB ${WXLIBS}) + IF(EXISTS "${WXLIB}") + SET(WXVERSION "25") + ENDIF(EXISTS "${WXLIB}") + ENDFOREACH(WXLIB ${WXLIBS}) + + IF(NOT WXLIB) + SET(WXLIBS + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase26.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase26d.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase26u.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxbase26ud.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv26_core.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv26d_core.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv26u_core.lib" + "${WXWINDOWS_POSSIBLE_MULTILIB_PATHS}/wxmswuniv26ud_core.lib") + + FOREACH(WXLIB ${WXLIBS}) + IF(EXISTS "${WXLIB}") + SET(WXVERSION "26") + ENDIF(EXISTS "${WXLIB}") + ENDFOREACH(WXLIB ${WXLIBS}) + ENDIF(NOT WXLIB) + + IF(NOT WXVERSION) + MESSAGE(SEND_ERROR "There are no suitable wxWidgets libraries found (monolithic builds are no longer supported") + ENDIF(NOT WXVERSION) + + ## + ## Verify unicode universal builds + ## + IF(WX_LINK_AGAINST_UNIVERSAL AND WX_LINK_AGAINST_UNICODE) + IF(NOT WX_RELEASE_UNIV AND NOT WX_DEBUG_UNIV AND NOT WX_RELEASE_UNIV_UNI AND NOT WX_DEBUG_UNIV_UNI) + MESSAGE(SEND_ERROR "Not all wx${WXVERSION} universal unicode libraries are found (check debug and release builds)") + ENDIF(NOT WX_RELEASE_UNIV AND NOT WX_DEBUG_UNIV AND NOT WX_RELEASE_UNIV_UNI AND NOT WX_DEBUG_UNIV_UNI) + ELSE(WX_LINK_AGAINST_UNIVERSAL AND WX_LINK_AGAINST_UNICODE) + ## + ## Verify unicode builds + ## + IF(NOT WX_LINK_AGAINST_UNIVERSAL AND WX_LINK_AGAINST_UNICODE) + IF(NOT WX_RELEASE_UNI AND NOT WX_DEBUG_UNI) + MESSAGE(SEND_ERROR "Not all wx${WXVERSION} unicode libraries are found (check debug and release builds)") + ENDIF(NOT WX_RELEASE_UNI AND NOT WX_DEBUG_UNI) + ELSE(NOT WX_LINK_AGAINST_UNIVERSAL AND WX_LINK_AGAINST_UNICODE) + ## + ## Verify universal builds + ## + IF(WX_LINK_AGAINST_UNIVERSAL AND NOT WX_LINK_AGAINST_UNICODE) + IF(NOT WX_RELEASE_UNIV AND NOT WX_DEBUG_UNIV) + MESSAGE(SEND_ERROR "Not all wx${WXVERSION} universal libraries are found (check debug and release builds)") + ENDIF(NOT WX_RELEASE_UNIV AND NOT WX_DEBUG_UNIV) + ELSE(WX_LINK_AGAINST_UNIVERSAL AND NOT WX_LINK_AGAINST_UNICODE) + ## + ## Must be normal build now + ## + IF(NOT WX_RELEASE AND NOT WX_DEBUG) + MESSAGE(SEND_ERROR "Not all wx${WXVERSION} libraries are found (check debug and release builds)") + ENDIF(NOT WX_RELEASE AND NOT WX_DEBUG) + ENDIF(WX_LINK_AGAINST_UNIVERSAL AND NOT WX_LINK_AGAINST_UNICODE) + ENDIF(NOT WX_LINK_AGAINST_UNIVERSAL AND WX_LINK_AGAINST_UNICODE) + ENDIF(WX_LINK_AGAINST_UNIVERSAL AND WX_LINK_AGAINST_UNICODE) + + ## Prepare the representation for the library + IF(WX_LINK_AGAINST_UNICODE) + SET(WXLIB_POST "u") + ELSE(WX_LINK_AGAINST_UNICODE) + SET(WXLIB_POST "") + ENDIF(WX_LINK_AGAINST_UNICODE) + + ## Prepare for universal presentation + IF(WX_LINK_AGAINST_UNIVERSAL) + SET(WXLIB_UNIV "univ") + ELSE(WX_LINK_AGAINST_UNIVERSAL) + SET(WXLIB_UNIV "") + ENDIF(WX_LINK_AGAINST_UNIVERSAL) + + FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h + ${WXWIDGETS_PATH_ROOT}/lib/vc_lib/msw${WXLIB_UNIV}${WXLIB_POST} + ${WXWIDGETS_PATH_ROOT}/lib/vc_lib/msw${WXLIB_UNIV}${WXLIB_POST}d ) + + ## Find setup.h belonging to multi libs + SET(WXWINDOWS_LINK_DIRECTORIES + ${WXWINDOWS_POSSIBLE_MULTILIB_PATHS} ) + + ## Append all multi libs + SET (WXWINDOWS_STATIC_RELEASE_LIBS + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_gl.lib + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_xrc.lib + optimized wxbase${WXVERSION}${WXLIB_POST}_xml.lib + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_qa.lib + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_html.lib + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_dbgrid.lib + optimized wxbase${WXVERSION}${WXLIB_POST}_odbc.lib + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_media.lib + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_adv.lib + optimized wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}_core.lib + optimized wxbase${WXVERSION}${WXLIB_POST}_net.lib + optimized wxbase${WXVERSION}${WXLIB_POST}.lib + optimized wxexpat.lib + optimized wxtiff.lib + optimized wxjpeg.lib + optimized wxpng.lib + optimized wxzlib.lib + optimized wxregex${WXLIB_POST}.lib ) + + SET (WXWINDOWS_STATIC_DEBUG_LIBS + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_gl.lib + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_xrc.lib + debug wxbase${WXVERSION}${WXLIB_POST}d_xml.lib + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_qa.lib + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_html.lib + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_dbgrid.lib + debug wxbase${WXVERSION}${WXLIB_POST}d_odbc.lib + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_media.lib + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_adv.lib + debug wxmsw${WXLIB_UNIV}${WXVERSION}${WXLIB_POST}d_core.lib + debug wxbase${WXVERSION}${WXLIB_POST}d_net.lib + debug wxbase${WXVERSION}${WXLIB_POST}d.lib + debug wxexpatd.lib + debug wxtiffd.lib + debug wxjpegd.lib + debug wxpngd.lib + debug wxzlibd.lib + debug wxregex${WXLIB_POST}d.lib ) + + ## Add the common libraries to the big list + SET(CMAKE_WXWINDOWS_COMMON_LIBRARIES + winmm + comctl32 + rpcrt4 + wsock32 ) + + ## Set wxWidgets library in WXWINDOWS_LIBRARIES + SET(WXWINDOWS_LIBRARIES + ${CMAKE_WXWINDOWS_COMMON_LIBRARIES} + ${WXWINDOWS_STATIC_DEBUG_LIBS} + ${WXWINDOWS_STATIC_RELEASE_LIBS} ) + + ## Find include directory + SET (WXWINDOWS_POSSIBLE_INCLUDE_PATHS + "${WXWIDGETS_PATH_ROOT}/include" ) + + FIND_PATH(WXWIDGETS_INCLUDE_DIR wx/wx.h + ${WXWINDOWS_POSSIBLE_INCLUDE_PATHS} ) + + ## Blank the setup.h dir when this is not found + IF (NOT WXWINDOWS_INCLUDE_DIR_SETUPH) + SET(WXWINDOWS_INCLUDE_DIR_SETUPH "") + ENDIF (NOT WXWINDOWS_INCLUDE_DIR_SETUPH) + + ## Set include paths + SET(WXWINDOWS_INCLUDE_DIR + ${WXWIDGETS_INCLUDE_DIR} + ${WXWINDOWS_INCLUDE_DIR_SETUPH} ) + + IF(WX_LINK_AGAINST_UNICODE) + SET(WX_UNICODE_FLAGS " -DUNICODE=1" ) + ELSE(WX_LINK_AGAINST_UNICODE) + SET(WX_UNICODE_FLAGS "" ) + ENDIF(WX_LINK_AGAINST_UNICODE) + + SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${WX_UNICODE_FLAGS} -D__WXDEBUG__ -D__WXMSW__ -DWINVER=0x0400 -DwxUSE_BASE=1") + + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}${WX_UNICODE_FLAGS} -D__WXMSW__ -DWINVER=0x0400 -DwxUSE_BASE=1" ) + + ## TODO: Once these tags work, this is more efficient + ##ADD_DEFINITIONS(debug ) + ##ADD_DEFINITIONS(-D__WXMSW__ -DWINVER=0x0400 -DwxUSE_BASE=1 ) + + MARK_AS_ADVANCED( + WXWIDGETS_INCLUDE_DIR + WXWIDGETS_PATH_MONOLIB_DEBUG + WXWIDGETS_PATH_MONOLIB_RELEASE + WXWIDGETS_PATH_ROOT + WXWINDOWS_INCLUDE_DIR_SETUPH ) + + IF(WXWINDOWS_LINK_DIRECTORIES AND WXWINDOWS_LIBRARIES AND WXWINDOWS_INCLUDE_DIR) + SET(WXWINDOWS_FOUND 1) + ENDIF(WXWINDOWS_LINK_DIRECTORIES AND WXWINDOWS_LIBRARIES AND WXWINDOWS_INCLUDE_DIR) + +ELSE( WIN32 ) + + FIND_PROGRAM( CMAKE_WX_CONFIG wx-config ../wx/bin ../../wx/bin ) + SET( CMAKE_WX_CXX_FLAGS "`${CMAKE_WX_CONFIG} --cxxflags`" ) + SET( WXWINDOWS_LIBRARIES "`${CMAKE_WX_CONFIG} --libs`" ) + + IF(CMAKE_WX_CONFIG) + SET(WXWINDOWS_FOUND 1) + ENDIF(CMAKE_WX_CONFIG) + + ## extract linkdirs (-L) for rpath + ## use regular expression to match wildcard equivalent "-L*<endchar>" + ## with <endchar> is a space or a semicolon + STRING(REGEX MATCHALL "[-][L]([^ ;])+" WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX "${WX_CONFIG_LIBS}" ) + #MESSAGE("DBG WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX=${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX}") + + ## remove prefix -L because we need the pure directory for LINK_DIRECTORIES + ## replace -L by ; because the separator seems to be lost otherwise (bug or + ## feature?) + IF(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX) + STRING(REGEX REPLACE "[-][L]" ";" WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX} ) + #MESSAGE("DBG WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}") + ENDIF(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX) + + ## replace space separated string by semicolon separated vector to make it + ## work with LINK_DIRECTORIES + SEPARATE_ARGUMENTS(WXWINDOWS_LINK_DIRECTORIES) + + IF( CYGWIN OR MINGW ) + GET_FILENAME_COMPONENT(WXWINDOWS_INSTALL_PATH ${CMAKE_WX_CONFIG} PATH) + SET( WXWINDOWS_INSTALL_PATH ${WXWINDOWS_INSTALL_PATH}/.. ) + SET( WXWINDOWS_RC ${WXWINDOWS_INSTALL_PATH}/include/wx/msw/wx.rc ) + ELSE( CYGWIN OR MINGW ) + SET( WXWINDOWS_RC "" ) + ENDIF( CYGWIN OR MINGW ) + SET( WIN32GUI "" ) + + #keep debug settings as indicated by wx-config + #SET( WXWINDOWS_DEFINITIONS ${WXWINDOWS_DEFINITIONS} "${CMAKE_WX_CXX_FLAGS}" ) + #IF( WXWINDOWS_USE_DEBUG ) + # SET( WXWINDOWS_DEFINITIONS ${WXWINDOWS_DEFINITIONS} -ggdb ) + #ENDIF( WXWINDOWS_USE_DEBUG ) + + IF( CYGWIN OR MINGW ) + IF( CYGWIN ) + SET( WXWINDOWS_DEFINITIONS ${WXWINDOWS_DEFINITIONS} -D__GNUWIN32__ -O2 -D_WIN32_IE=0x400 -MMD -Wall ) + ENDIF( CYGWIN ) + ELSE( CYGWIN OR MINGW ) + # just in case `gtk-config --cflags`does not work + # SET( WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} /usr/include/gtk-2.0 /usr/include/gtk-2.0/include /usr/lib/gtk-2.0/include /usr/include/glib-2.0 /usr/lib/glib-2.0/include /usr/include/pango-1.0 /usr/include/atk-1.0 ) + # What about FindGTK.cmake? and what if somebody uses wxMotif? + SET( CMAKE_WX_CXX_FLAGS "${CMAKE_WX_CXX_FLAGS} `gtk-config --cflags`" ) + #find Xwindows + INCLUDE( ${CMAKE_ROOT}/Modules/FindX11.cmake ) + SET( WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} ${X11_INCLUDE_DIR} ) + ENDIF( CYGWIN OR MINGW ) + +ENDIF( WIN32 ) + +MARK_AS_ADVANCED( + CMAKE_WX_CXX_FLAGS +) + +#MESSAGE( "${WXWINDOWS_LINK_DIRECTORIES}" ) +#MESSAGE( "${WXWINDOWS_LIBRARIES}" ) +#MESSAGE( "CMAKE_WX_CXX_FLAGS}" ) +#MESSAGE( "WXWINDOWS_INCLUDE_PATH}" ) +#MESSAGE( "WXWINDOWS_INCLUDE_DIR}" ) +#MESSAGE( "WXWINDOWS_DEFINITIONS}" ) |