summaryrefslogtreecommitdiff
path: root/Modules/FindwxWindows.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-07-21 15:43:19 -0400
committerBrad King <brad.king@kitware.com>2006-07-21 15:43:19 -0400
commit3c9744f406d85a293fc504368d32ba34b5ed3332 (patch)
treeae48986833aa8d1aabb369c88e832e769d9ef5af /Modules/FindwxWindows.cmake
parentb377c8ac725aea5a7b892b830b29fb80355cb097 (diff)
downloadcmake-3c9744f406d85a293fc504368d32ba34b5ed3332.tar.gz
ENH: Applying patch from bug#3443 to implement FindwxWidgets.cmake properly. It also updates the UseWX test and WXDialog sources to use the new find script.
Diffstat (limited to 'Modules/FindwxWindows.cmake')
-rw-r--r--Modules/FindwxWindows.cmake419
1 files changed, 217 insertions, 202 deletions
diff --git a/Modules/FindwxWindows.cmake b/Modules/FindwxWindows.cmake
index f5f30652a6..4614e222d3 100644
--- a/Modules/FindwxWindows.cmake
+++ b/Modules/FindwxWindows.cmake
@@ -1,54 +1,59 @@
-# - Find wxWindows (wxWidgets) installation
-# This module finds if wxWindows/wxWidgets is installed and determines where
+# - Find wxWindows (wxWidgets) installation
+# This module finds if wxWindows/wxWidgets is installed and determines where
# the include files and libraries are. It also determines what the name of
-# the library is. This code sets the following variables:
-#
-# WXWINDOWS_FOUND = system has WxWindows
+# the library is.
+# Please note this file is DEPRECATED and replaced by FindwxWidgets.cmake.
+# This code sets the following variables:
+#
+# WXWINDOWS_FOUND = system has WxWindows
# WXWINDOWS_LIBRARIES = path to the wxWindows libraries
-# on Unix/Linux with additional
-# linker flags from
+# on Unix/Linux with additional
+# linker flags from
# "wx-config --libs"
-# CMAKE_WXWINDOWS_CXX_FLAGS = Compiler flags for wxWindows,
+# CMAKE_WXWINDOWS_CXX_FLAGS = Compiler flags for wxWindows,
# essentially "`wx-config --cxxflags`"
# on Linux
# WXWINDOWS_INCLUDE_DIR = where to find "wx/wx.h" and "wx/setup.h"
# WXWINDOWS_LINK_DIRECTORIES = link directories, useful for rpath on
# Unix
# WXWINDOWS_DEFINITIONS = extra defines
-#
-# DEPRECATED
-# CMAKE_WX_CAN_COMPILE
-# WXWINDOWS_LIBRARY
-# CMAKE_WX_CXX_FLAGS
-# WXWINDOWS_INCLUDE_PATH
#
-# OPTIONS
-# If you need OpenGL support please
-# SET(WXWINDOWS_USE_GL 1)
+# OPTIONS
+# If you need OpenGL support please
+# SET(WXWINDOWS_USE_GL 1)
# in your CMakeLists.txt *before* you include this file.
-#
+#
+# HAVE_ISYSTEM - true required to replace -I by -isystem on g++
+#
# For convenience include Use_wxWindows.cmake in your project's
-# CMakeLists.txt using INCLUDE(Use_wxWindows).
-#
-# USAGE
-# SET(WXWINDOWS_USE_GL 1)
+# CMakeLists.txt using INCLUDE(Use_wxWindows).
+#
+# USAGE
+# SET(WXWINDOWS_USE_GL 1)
# FIND_PACKAGE(wxWindows)
-#
+#
# NOTES
-# wxWidgets 2.6.x is supported for monolithic builds
-# e.g. compiled in wx/build/msw dir as:
+# wxWidgets 2.6.x is supported for monolithic builds
+# e.g. compiled in wx/build/msw dir as:
# nmake -f makefile.vc BUILD=debug SHARED=0 USE_OPENGL=1 MONOLITHIC=1
#
+# DEPRECATED
+#
+# CMAKE_WX_CAN_COMPILE
+# WXWINDOWS_LIBRARY
+# CMAKE_WX_CXX_FLAGS
+# WXWINDOWS_INCLUDE_PATH
+#
# AUTHOR
# Jan Woetzel <http://www.mip.informatik.uni-kiel.de/~jw> (07/2003-01/2006)
# ------------------------------------------------------------------
-#
+#
# -removed OPTION for CMAKE_WXWINDOWS_USE_GL. Force the developer to SET it before calling this.
# -major update for wx 2.6.2 and monolithic build option. (10/2005)
#
-# STATUS
+# STATUS
# tested with:
# cmake 1.6.7, Linux (Suse 7.3), wxWindows 2.4.0, gcc 2.95
# cmake 1.6.7, Linux (Suse 8.2), wxWindows 2.4.0, gcc 3.3
@@ -87,19 +92,19 @@ IF(WIN32_STYLE_FIND)
## should have subdirs include and lib containing include/wx/wx.h
## fix the root dir to avoid mixing of headers/libs from different
## versions/builds:
-
+
SET (WXWINDOWS_POSSIBLE_ROOT_PATHS
$ENV{WXWIN}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]" ## WX 2.6.x
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWindows_is1;Inno Setup: App Path]" ## WX 2.4.x
- C:\\wxWidgets-2.6.2
- D:\\wxWidgets-2.6.2
- C:\\wxWidgets-2.6.1
- D:\\wxWidgets-2.6.1
- C:\\wxWindows-2.4.2
- D:\\wxWindows-2.4.2
+ C:\\wxWidgets-2.6.2
+ D:\\wxWidgets-2.6.2
+ C:\\wxWidgets-2.6.1
+ D:\\wxWidgets-2.6.1
+ C:\\wxWindows-2.4.2
+ D:\\wxWindows-2.4.2
)
-
+
## WX supports monolithic and multiple smaller libs (since 2.5.x), we prefer monolithic for now.
## monolithic = WX is built as a single big library
## e.g. compile on WIN32 as "nmake -f makefile.vc MONOLITHIC=1 BUILD=debug SHARED=0 USE_OPENGL=1" (JW)
@@ -112,49 +117,49 @@ IF(WIN32_STYLE_FIND)
## avoid mixing of headers and libs between multiple installed WX versions,
- ## select just one tree here:
- FIND_PATH(WXWINDOWS_ROOT_DIR include/wx/wx.h
- ${WXWINDOWS_POSSIBLE_ROOT_PATHS} )
+ ## select just one tree here:
+ FIND_PATH(WXWINDOWS_ROOT_DIR include/wx/wx.h
+ ${WXWINDOWS_POSSIBLE_ROOT_PATHS} )
# MESSAGE("DBG found WXWINDOWS_ROOT_DIR: ${WXWINDOWS_ROOT_DIR}")
-
-
+
+
## find libs for combination of static/shared with release/debug
- ## be careful if you add something here,
- ## avoid mixing of headers and libs of different wx versions,
- ## there may be multiple WX version s installed.
+ ## be careful if you add something here,
+ ## avoid mixing of headers and libs of different wx versions,
+ ## there may be multiple WX version s installed.
SET (WXWINDOWS_POSSIBLE_LIB_PATHS
"${WXWINDOWS_ROOT_DIR}/lib"
- )
-
+ )
+
## monolithic?
IF (WXWINDOWS_USE_MONOLITHIC)
-
+
FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY
NAMES wx wxmsw wxmsw26
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
- DOC "wxWindows static release build library" )
-
+ DOC "wxWindows static release build library" )
+
FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY
- NAMES wxd wxmswd wxmsw26d
- PATHS
+ NAMES wxd wxmswd wxmsw26d
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug build library" )
-
+
FIND_LIBRARY(WXWINDOWS_SHARED_LIBRARY
- NAMES wxmsw26 wxmsw262 wxmsw24 wxmsw242 wxmsw241 wxmsw240 wx23_2 wx22_9
- PATHS
+ NAMES wxmsw26 wxmsw262 wxmsw24 wxmsw242 wxmsw241 wxmsw240 wx23_2 wx22_9
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows shared release build library" )
-
+
FIND_LIBRARY(WXWINDOWS_SHARED_DEBUG_LIBRARY
- NAMES wxmsw26d wxmsw262d wxmsw24d wxmsw241d wxmsw240d wx23_2d wx22_9d
- PATHS
+ NAMES wxmsw26d wxmsw262d wxmsw24d wxmsw241d wxmsw240d wx23_2d wx22_9d
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows shared debug build library " )
@@ -163,124 +168,124 @@ IF(WIN32_STYLE_FIND)
## gl lib is always build separate:
##
FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_GL
- NAMES wx_gl wxmsw_gl wxmsw26_gl
- PATHS
+ NAMES wx_gl wxmsw_gl wxmsw26_gl
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static release build GL library" )
FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
- NAMES wxd_gl wxmswd_gl wxmsw26d_gl
- PATHS
+ NAMES wxd_gl wxmswd_gl wxmsw26d_gl
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug build GL library" )
-
+
FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
- NAMES wxpngd
- PATHS
+ NAMES wxpngd
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug png library" )
FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_PNG
NAMES wxpng
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static png library" )
-
+
FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
- NAMES wxtiffd
- PATHS
+ NAMES wxtiffd
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug tiff library" )
FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_TIFF
NAMES wxtiff
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static tiff library" )
-
+
FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
NAMES wxjpegd wxjpgd
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug jpeg library" )
FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_JPEG
NAMES wxjpeg wxjpg
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static jpeg library" )
-
+
FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
NAMES wxzlibd
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug zlib library" )
FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_ZLIB
NAMES wxzlib
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static zib library" )
FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
NAMES wxregexd
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug regex library" )
FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_REGEX
NAMES wxregex
- PATHS
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static regex library" )
-
-
-
+
+
+
## untested:
FIND_LIBRARY(WXWINDOWS_SHARED_LIBRARY_GL
- NAMES wx_gl wxmsw_gl wxmsw26_gl
- PATHS
+ NAMES wx_gl wxmsw_gl wxmsw26_gl
+ PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows shared release build GL library" )
FIND_LIBRARY(WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
- NAMES wxd_gl wxmswd_gl wxmsw26d_gl
- PATHS
- "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
- ${WXWINDOWS_POSSIBLE_LIB_PATHS}
- DOC "wxWindows shared debug build GL library" )
-
-
+ NAMES wxd_gl wxmswd_gl wxmsw26d_gl
+ PATHS
+ "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
+ ${WXWINDOWS_POSSIBLE_LIB_PATHS}
+ DOC "wxWindows shared debug build GL library" )
+
+
ELSE (WXWINDOWS_USE_MONOLITHIC)
## WX is built as multiple small pieces libraries instead of monolithic
-
+
## DEPECATED (jw) replaced by more general WXWINDOWS_USE_MONOLITHIC ON/OFF
- # OPTION(WXWINDOWS_SEPARATE_LIBS_BUILD "Is wxWindows build with separate libs?" OFF)
-
+ # OPTION(WXWINDOWS_SEPARATE_LIBS_BUILD "Is wxWindows build with separate libs?" OFF)
+
## HACK: This is very dirty.
## because the libs of a particular version are explicitly listed
## and NOT searched/verified.
- ## TODO: Really search for each lib, then decide for
- ## monolithic x debug x shared x GL (=16 combinations) for at least 18 libs
- ## --> about 288 combinations
+ ## TODO: Really search for each lib, then decide for
+ ## monolithic x debug x shared x GL (=16 combinations) for at least 18 libs
+ ## --> about 288 combinations
## thus we need a different approach so solve this correctly ...
-
+
MESSAGE(STATUS "Warning: You are trying to use wxWidgets without monolithic build (WXWINDOWS_SEPARATE_LIBS_BUILD). This is a HACK, libraries are not verified! (JW).")
-
+
SET(WXWINDOWS_STATIC_LIBS ${WXWINDOWS_STATIC_LIBS}
wxbase26
wxbase26_net
@@ -304,7 +309,7 @@ IF(WIN32_STYLE_FIND)
rpcrt4
wsock32
)
- ## HACK: feed in to optimized / debug libaries if both were FOUND.
+ ## HACK: feed in to optimized / debug libaries if both were FOUND.
SET(WXWINDOWS_STATIC_DEBUG_LIBS ${WXWINDOWS_STATIC_DEBUG_LIBS}
wxbase26d
wxbase26d_net
@@ -329,29 +334,29 @@ IF(WIN32_STYLE_FIND)
wsock32
)
ENDIF (WXWINDOWS_USE_MONOLITHIC)
-
-
+
+
##
## now we should have found all WX libs available on the system.
## let the user decide which of the available onse to use.
- ##
-
+ ##
+
## if there is at least one shared lib available
- ## let user choose wether to use shared or static wxwindows libs
+ ## let user choose wether to use shared or static wxwindows libs
IF(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
## default value OFF because wxWindows MSVS default build is static
OPTION(WXWINDOWS_USE_SHARED_LIBS
"Use shared versions (dll) of wxWindows libraries?" OFF)
MARK_AS_ADVANCED(WXWINDOWS_USE_SHARED_LIBS)
- ENDIF(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
-
+ ENDIF(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
+
## add system libraries wxwindows always seems to depend on
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
comctl32
rpcrt4
wsock32
- )
-
+ )
+
IF (NOT WXWINDOWS_USE_SHARED_LIBS)
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
## these ones dont seem required, in particular ctl3d32 is not neccesary (Jan Woetzel 07/2003)
@@ -364,34 +369,34 @@ IF(WIN32_STYLE_FIND)
)
ENDIF (NOT WXWINDOWS_USE_SHARED_LIBS)
- ## opengl/glu: TODO/FIXME: better use FindOpenGL.cmake here
+ ## opengl/glu: TODO/FIXME: better use FindOpenGL.cmake here
## assume release versions of glu an dopengl, here.
IF (WXWINDOWS_USE_GL)
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
opengl32
glu32 )
ENDIF (WXWINDOWS_USE_GL)
-
+
##
## select between use of shared or static wxWindows lib then set libs to use
## for debug and optimized build. so the user can switch between debug and
## release build e.g. within MS Visual Studio without running cmake with a
## different build directory again.
- ##
+ ##
## then add the build specific include dir for wx/setup.h
- ##
-
+ ##
+
IF(WXWINDOWS_USE_SHARED_LIBS)
##MESSAGE("DBG wxWindows use shared lib selected.")
## assume that both builds use the same setup(.h) for simplicity
-
+
## shared: both wx (debug and release) found?
## assume that both builds use the same setup(.h) for simplicity
IF(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
##MESSAGE("DBG wx shared: debug and optimized found.")
FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/mswdlld
- ${WXWINDOWS_ROOT_DIR}/lib/mswdll
+ ${WXWINDOWS_ROOT_DIR}/lib/mswdll
${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd
${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
@@ -403,29 +408,29 @@ IF(WIN32_STYLE_FIND)
optimized ${WXWINDOWS_SHARED_LIBRARY_GL} )
ENDIF (WXWINDOWS_USE_GL)
ENDIF(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
-
+
## shared: only debug wx lib found?
IF(WXWINDOWS_SHARED_DEBUG_LIBRARY)
IF(NOT WXWINDOWS_SHARED_LIBRARY)
##MESSAGE("DBG wx shared: debug (but no optimized) found.")
FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
- ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
- ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd )
+ ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
+ ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd )
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
+ IF (WXWINDOWS_USE_GL)
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
ENDIF (WXWINDOWS_USE_GL)
ENDIF(NOT WXWINDOWS_SHARED_LIBRARY)
ENDIF(WXWINDOWS_SHARED_DEBUG_LIBRARY)
-
+
## shared: only release wx lib found?
IF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
IF(WXWINDOWS_SHARED_LIBRARY)
##MESSAGE("DBG wx shared: optimized (but no debug) found.")
FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
- ${WXWINDOWS_ROOT_DIR}/lib/mswdll
+ ${WXWINDOWS_ROOT_DIR}/lib/mswdll
${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
@@ -433,13 +438,13 @@ IF(WIN32_STYLE_FIND)
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
ENDIF (WXWINDOWS_USE_GL)
- ENDIF(WXWINDOWS_SHARED_LIBRARY)
+ ENDIF(WXWINDOWS_SHARED_LIBRARY)
ENDIF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
-
+
## shared: none found?
IF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
IF(NOT WXWINDOWS_SHARED_LIBRARY)
- MESSAGE(STATUS
+ MESSAGE(STATUS
"No shared wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
ENDIF(NOT WXWINDOWS_SHARED_LIBRARY)
ENDIF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
@@ -448,15 +453,15 @@ IF(WIN32_STYLE_FIND)
ELSE(WXWINDOWS_USE_SHARED_LIBS)
##jw: DEPRECATED IF(NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
-
+
## static: both wx (debug and release) found?
## assume that both builds use the same setup(.h) for simplicity
IF(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
##MESSAGE("DBG wx static: debug and optimized found.")
FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/mswd
- ${WXWINDOWS_ROOT_DIR}/lib/msw
- ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd
+ ${WXWINDOWS_ROOT_DIR}/lib/msw
+ ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd
${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY}
@@ -465,77 +470,77 @@ IF(WIN32_STYLE_FIND)
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL}
optimized ${WXWINDOWS_STATIC_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
+ ENDIF (WXWINDOWS_USE_GL)
ENDIF(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
-
+
## static: only debug wx lib found?
IF(WXWINDOWS_STATIC_DEBUG_LIBRARY)
IF(NOT WXWINDOWS_STATIC_LIBRARY)
##MESSAGE("DBG wx static: debug (but no optimized) found.")
FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
- ${WXWINDOWS_ROOT_DIR}/lib/mswd
+ ${WXWINDOWS_ROOT_DIR}/lib/mswd
${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd )
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_DEBUG_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
+ IF (WXWINDOWS_USE_GL)
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL} )
ENDIF (WXWINDOWS_USE_GL)
ENDIF(NOT WXWINDOWS_STATIC_LIBRARY)
ENDIF(WXWINDOWS_STATIC_DEBUG_LIBRARY)
-
+
## static: only release wx lib found?
IF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
IF(WXWINDOWS_STATIC_LIBRARY)
##MESSAGE("DBG wx static: optimized (but no debug) found.")
FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
- ${WXWINDOWS_ROOT_DIR}/lib/msw
- ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
+ ${WXWINDOWS_ROOT_DIR}/lib/msw
+ ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
+ IF (WXWINDOWS_USE_GL)
SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
+ ENDIF (WXWINDOWS_USE_GL)
ENDIF(WXWINDOWS_STATIC_LIBRARY)
ENDIF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
-
+
## static: none found?
IF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
IF(NOT WXWINDOWS_STATIC_LIBRARY)
- MESSAGE(STATUS
+ MESSAGE(STATUS
"No static wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
ENDIF(NOT WXWINDOWS_STATIC_LIBRARY)
- ENDIF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
- ENDIF(WXWINDOWS_USE_SHARED_LIBS)
-
-
+ ENDIF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
+ ENDIF(WXWINDOWS_USE_SHARED_LIBS)
+
+
## not neccessary in wxWindows 2.4.1 and 2.6.2
## but it may fix a previous bug, see
## http://lists.wxwindows.org/cgi-bin/ezmlm-cgi?8:mss:37574:200305:mpdioeneabobmgjenoap
OPTION(WXWINDOWS_SET_DEFINITIONS "Set additional defines for wxWindows" OFF)
MARK_AS_ADVANCED(WXWINDOWS_SET_DEFINITIONS)
- IF (WXWINDOWS_SET_DEFINITIONS)
+ IF (WXWINDOWS_SET_DEFINITIONS)
SET(WXWINDOWS_DEFINITIONS "-DWINVER=0x400")
- ELSE (WXWINDOWS_SET_DEFINITIONS)
+ ELSE (WXWINDOWS_SET_DEFINITIONS)
# clear:
SET(WXWINDOWS_DEFINITIONS "")
- ENDIF (WXWINDOWS_SET_DEFINITIONS)
-
-
-
+ ENDIF (WXWINDOWS_SET_DEFINITIONS)
+
+
+
## Find the include directories for wxwindows
## the first, build specific for wx/setup.h was determined before.
## add inc dir for general for "wx/wx.h"
- FIND_PATH(WXWINDOWS_INCLUDE_DIR wx/wx.h
- "${WXWINDOWS_ROOT_DIR}/include" )
+ FIND_PATH(WXWINDOWS_INCLUDE_DIR wx/wx.h
+ "${WXWINDOWS_ROOT_DIR}/include" )
## append the build specific include dir for wx/setup.h:
IF (WXWINDOWS_INCLUDE_DIR_SETUPH)
SET(WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} ${WXWINDOWS_INCLUDE_DIR_SETUPH} )
ENDIF (WXWINDOWS_INCLUDE_DIR_SETUPH)
-
-
-
+
+
+
MARK_AS_ADVANCED(
WXWINDOWS_ROOT_DIR
WXWINDOWS_INCLUDE_DIR
@@ -557,28 +562,28 @@ IF(WIN32_STYLE_FIND)
WXWINDOWS_SHARED_LIBRARY
WXWINDOWS_SHARED_DEBUG_LIBRARY
WXWINDOWS_SHARED_LIBRARY_GL
- WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
+ WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
)
-
-
+
+
ELSE(WIN32_STYLE_FIND)
- IF (UNIX_STYLE_FIND)
+ IF (UNIX_STYLE_FIND)
## ######################################################################
- ##
+ ##
## UNIX/Linux specific:
- ##
+ ##
## use backquoted wx-config to query and set flags and libs:
## 06/2003 Jan Woetzel
- ##
-
+ ##
+
OPTION(WXWINDOWS_USE_SHARED_LIBS "Use shared versions (.so) of wxWindows libraries" ON)
MARK_AS_ADVANCED(WXWINDOWS_USE_SHARED_LIBS)
- # JW removed option and force the develper th SET it.
+ # JW removed option and force the develper th SET it.
# OPTION(WXWINDOWS_USE_GL "use wxWindows with GL support (use additional
- # --gl-libs for wx-config)?" OFF)
-
+ # --gl-libs for wx-config)?" OFF)
+
# wx-config should be in your path anyhow, usually no need to set WXWIN or
# search in ../wx or ../../wx
FIND_PROGRAM(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE wx-config
@@ -586,76 +591,86 @@ ELSE(WIN32_STYLE_FIND)
$ENV{WXWIN}/bin
../wx/bin
../../wx/bin )
-
+
# check wether wx-config was found:
- IF(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+ IF(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
# use shared/static wx lib?
# remember: always link shared to use systems GL etc. libs (no static
- # linking, just link *against* static .a libs)
+ # linking, just link *against* static .a libs)
IF(WXWINDOWS_USE_SHARED_LIBS)
SET(WX_CONFIG_ARGS_LIBS "--libs")
ELSE(WXWINDOWS_USE_SHARED_LIBS)
SET(WX_CONFIG_ARGS_LIBS "--static --libs")
ENDIF(WXWINDOWS_USE_SHARED_LIBS)
-
+
# do we need additionial wx GL stuff like GLCanvas ?
IF(WXWINDOWS_USE_GL)
SET(WX_CONFIG_ARGS_LIBS "${WX_CONFIG_ARGS_LIBS} --gl-libs" )
ENDIF(WXWINDOWS_USE_GL)
##MESSAGE("DBG: WX_CONFIG_ARGS_LIBS=${WX_CONFIG_ARGS_LIBS}===")
-
+
# set CXXFLAGS to be fed into CMAKE_CXX_FLAGS by the user:
- SET(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
+ IF (HAVE_ISYSTEM) # does the compiler support -isystem ?
+ IF (NOT APPLE) # -isystem seem sto be unsuppored on Mac
+ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
+ IF (CMAKE_CXX_COMPILER MATCHES g\\+\\+)
+ SET(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
+ ELSE(CMAKE_CXX_COMPILER MATCHES g\\+\\+)
+ SET(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags`")
+ ENDIF(CMAKE_CXX_COMPILER MATCHES g\\+\\+)
+ ENDIF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
+ ENDIF (NOT APPLE)
+ ENDIF (HAVE_ISYSTEM)
##MESSAGE("DBG: for compilation:
- ##CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS}===")
+ ##CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS}===")
# keep the back-quoted string for clarity
SET(WXWINDOWS_LIBRARIES "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} ${WX_CONFIG_ARGS_LIBS}`")
##MESSAGE("DBG2: for linking:
- ##WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}===")
-
+ ##WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}===")
+
# evaluate wx-config output to separate linker flags and linkdirs for
# rpath:
EXEC_PROGRAM(${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
ARGS ${WX_CONFIG_ARGS_LIBS}
OUTPUT_VARIABLE WX_CONFIG_LIBS )
-
+
## 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?)
+ ## 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)
-
+
MARK_AS_ADVANCED(
CMAKE_WXWINDOWS_CXX_FLAGS
WXWINDOWS_INCLUDE_DIR
WXWINDOWS_LIBRARIES
CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE
)
-
-
+
+
## we really need wx-config...
- ELSE(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+ ELSE(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
MESSAGE(STATUS "Cannot find wx-config anywhere on the system. Please put the file into your path or specify it in CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE.")
MARK_AS_ADVANCED(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
ENDIF(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
-
-
+
+
ELSE(UNIX_STYLE_FIND)
MESSAGE(STATUS "FindwxWindows.cmake: Platform unknown/unsupported by FindwxWindows.cmake. It's neither WIN32 nor UNIX")
ENDIF(UNIX_STYLE_FIND)
@@ -666,13 +681,13 @@ IF(WXWINDOWS_LIBRARIES)
IF(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
## found all we need.
SET(WXWINDOWS_FOUND 1)
-
- ## set deprecated variables for backward compatibility:
+
+ ## set deprecated variables for backward compatibility:
SET(CMAKE_WX_CAN_COMPILE ${WXWINDOWS_FOUND})
SET(WXWINDOWS_LIBRARY ${WXWINDOWS_LIBRARIES})
SET(WXWINDOWS_INCLUDE_PATH ${WXWINDOWS_INCLUDE_DIR})
SET(WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES})
SET(CMAKE_WX_CXX_FLAGS ${CMAKE_WXWINDOWS_CXX_FLAGS})
-
+
ENDIF(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
ENDIF(WXWINDOWS_LIBRARIES)