##--------------------------------------------------------------------------- ## $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 ) IF(CMAKE_WX_CONFIG) SET(WXWINDOWS_FOUND 1) # run the config program to get cxxflags EXEC_PROGRAM(${CMAKE_WX_CONFIG} ARGS --cxxflags OUTPUT_VARIABLE CMAKE_WX_CXX_FLAGS RETURN_VALUE RET1) # run the config program to get the libs EXEC_PROGRAM(${CMAKE_WX_CONFIG} ARGS --libs OUTPUT_VARIABLE WXWINDOWS_LIBRARIES_TMP RETURN_VALUE RET2) # for libraries break things up into a ; separated variable SEPARATE_ARGUMENTS(WXWINDOWS_LIBRARIES_TMP) SET(LAST_FRAME 0) # now put the stuff back into WXWINDOWS_LIBRARIES # but combine all the -framework foo arguments back together FOREACH(arg ${WXWINDOWS_LIBRARIES_TMP}) IF(${arg} MATCHES "-framework") SET(LAST_FRAME 1) ELSE(${arg} MATCHES "-framework") # not a -framework argument IF(${LAST_FRAME} EQUAL 1) SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES} "-framework ${arg}") SET(LAST_FRAME 0) ELSE(${LAST_FRAME} EQUAL 1) SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES} ${arg}) ENDIF(${LAST_FRAME} EQUAL 1) ENDIF(${arg} MATCHES "-framework") ENDFOREACH(arg) ENDIF(CMAKE_WX_CONFIG) ## extract linkdirs (-L) for rpath ## use regular expression to match wildcard equivalent "-L*" ## with 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? IF(NOT APPLE) 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(NOT APPLE) 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}" )