1 # - Find wxWindows (wxWidgets) installation
2 # This module finds if wxWindows/wxWidgets is installed and determines where
3 # the include files and libraries are. It also determines what the name of
5 # Please note this file is DEPRECATED and replaced by FindwxWidgets.cmake.
6 # This code sets the following variables:
8 # WXWINDOWS_FOUND = system has WxWindows
9 # WXWINDOWS_LIBRARIES = path to the wxWindows libraries
10 # on Unix/Linux with additional
13 # CMAKE_WXWINDOWS_CXX_FLAGS = Compiler flags for wxWindows,
14 # essentially "`wx-config --cxxflags`"
16 # WXWINDOWS_INCLUDE_DIR = where to find "wx/wx.h" and "wx/setup.h"
17 # WXWINDOWS_LINK_DIRECTORIES = link directories, useful for rpath on
19 # WXWINDOWS_DEFINITIONS = extra defines
22 # If you need OpenGL support please
23 # SET(WXWINDOWS_USE_GL 1)
24 # in your CMakeLists.txt *before* you include this file.
26 # HAVE_ISYSTEM - true required to replace -I by -isystem on g++
28 # For convenience include Use_wxWindows.cmake in your project's
29 # CMakeLists.txt using INCLUDE(Use_wxWindows).
32 # SET(WXWINDOWS_USE_GL 1)
33 # FIND_PACKAGE(wxWindows)
36 # wxWidgets 2.6.x is supported for monolithic builds
37 # e.g. compiled in wx/build/msw dir as:
38 # nmake -f makefile.vc BUILD=debug SHARED=0 USE_OPENGL=1 MONOLITHIC=1
42 # CMAKE_WX_CAN_COMPILE
45 # WXWINDOWS_INCLUDE_PATH
48 # Jan Woetzel <http://www.mip.informatik.uni-kiel.de/~jw> (07/2003-01/2006)
50 #=============================================================================
51 # Copyright 2000-2009 Kitware, Inc.
52 # Copyright 2003-2006 Jan Woetzel
54 # Distributed under the OSI-approved BSD License (the "License");
55 # see accompanying file Copyright.txt for details.
57 # This software is distributed WITHOUT ANY WARRANTY; without even the
58 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
59 # See the License for more information.
60 #=============================================================================
61 # (To distribute this file outside of CMake, substitute the full
62 # License text for the above reference.)
64 # ------------------------------------------------------------------
66 # -removed OPTION for CMAKE_WXWINDOWS_USE_GL. Force the developer to SET it before calling this.
67 # -major update for wx 2.6.2 and monolithic build option. (10/2005)
71 # cmake 1.6.7, Linux (Suse 7.3), wxWindows 2.4.0, gcc 2.95
72 # cmake 1.6.7, Linux (Suse 8.2), wxWindows 2.4.0, gcc 3.3
73 # cmake 1.6.7, Linux (Suse 8.2), wxWindows 2.4.1-patch1, gcc 3.3
74 # cmake 1.6.7, MS Windows XP home, wxWindows 2.4.1, MS Visual Studio .net 7 2002 (static build)
75 # cmake 2.0.5 on Windows XP and Suse Linux 9.2
76 # cmake 2.0.6 on Windows XP and Suse Linux 9.2, wxWidgets 2.6.2 MONOLITHIC build
77 # cmake 2.2.2 on Windows XP, MS Visual Studio .net 2003 7.1 wxWidgets 2.6.2 MONOLITHIC build
80 # -OPTION for unicode builds
81 # -further testing of DLL linking under MS WIN32
82 # -better support for non-monolithic builds
87 SET(WIN32_STYLE_FIND 1)
90 SET(WIN32_STYLE_FIND 0)
91 SET(UNIX_STYLE_FIND 1)
94 SET(UNIX_STYLE_FIND 1)
100 ## ######################################################################
104 ## candidates for root/base directory of wxwindows
105 ## should have subdirs include and lib containing include/wx/wx.h
106 ## fix the root dir to avoid mixing of headers/libs from different
109 SET (WXWINDOWS_POSSIBLE_ROOT_PATHS
111 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]" ## WX 2.6.x
112 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWindows_is1;Inno Setup: App Path]" ## WX 2.4.x
121 ## WX supports monolithic and multiple smaller libs (since 2.5.x), we prefer monolithic for now.
122 ## monolithic = WX is built as a single big library
123 ## e.g. compile on WIN32 as "nmake -f makefile.vc MONOLITHIC=1 BUILD=debug SHARED=0 USE_OPENGL=1" (JW)
124 OPTION(WXWINDOWS_USE_MONOLITHIC "Use monolithic build of WX??" ON)
125 MARK_AS_ADVANCED(WXWINDOWS_USE_MONOLITHIC)
128 OPTION(WXWINDOWS_USE_GL "Use Wx with GL support(glcanvas)?" ON)
129 MARK_AS_ADVANCED(WXWINDOWS_USE_GL)
132 ## avoid mixing of headers and libs between multiple installed WX versions,
133 ## select just one tree here:
134 FIND_PATH(WXWINDOWS_ROOT_DIR include/wx/wx.h
135 ${WXWINDOWS_POSSIBLE_ROOT_PATHS} )
136 # MESSAGE("DBG found WXWINDOWS_ROOT_DIR: ${WXWINDOWS_ROOT_DIR}")
139 ## find libs for combination of static/shared with release/debug
140 ## be careful if you add something here,
141 ## avoid mixing of headers and libs of different wx versions,
142 ## there may be multiple WX version s installed.
143 SET (WXWINDOWS_POSSIBLE_LIB_PATHS
144 "${WXWINDOWS_ROOT_DIR}/lib"
148 IF (WXWINDOWS_USE_MONOLITHIC)
150 FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY
151 NAMES wx wxmsw wxmsw26
153 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
154 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
155 DOC "wxWindows static release build library" )
157 FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY
158 NAMES wxd wxmswd wxmsw26d
160 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
161 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
162 DOC "wxWindows static debug build library" )
164 FIND_LIBRARY(WXWINDOWS_SHARED_LIBRARY
165 NAMES wxmsw26 wxmsw262 wxmsw24 wxmsw242 wxmsw241 wxmsw240 wx23_2 wx22_9
167 "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
168 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
169 DOC "wxWindows shared release build library" )
171 FIND_LIBRARY(WXWINDOWS_SHARED_DEBUG_LIBRARY
172 NAMES wxmsw26d wxmsw262d wxmsw24d wxmsw241d wxmsw240d wx23_2d wx22_9d
174 "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
175 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
176 DOC "wxWindows shared debug build library " )
180 ## required for WXWINDOWS_USE_GL
181 ## gl lib is always build separate:
183 FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_GL
184 NAMES wx_gl wxmsw_gl wxmsw26_gl
186 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
187 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
188 DOC "wxWindows static release build GL library" )
190 FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
191 NAMES wxd_gl wxmswd_gl wxmsw26d_gl
193 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
194 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
195 DOC "wxWindows static debug build GL library" )
198 FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
201 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
202 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
203 DOC "wxWindows static debug png library" )
205 FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_PNG
208 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
209 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
210 DOC "wxWindows static png library" )
212 FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
215 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
216 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
217 DOC "wxWindows static debug tiff library" )
219 FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_TIFF
222 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
223 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
224 DOC "wxWindows static tiff library" )
226 FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
229 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
230 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
231 DOC "wxWindows static debug jpeg library" )
233 FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_JPEG
236 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
237 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
238 DOC "wxWindows static jpeg library" )
240 FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
243 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
244 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
245 DOC "wxWindows static debug zlib library" )
247 FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_ZLIB
250 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
251 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
252 DOC "wxWindows static zib library" )
254 FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
257 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
258 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
259 DOC "wxWindows static debug regex library" )
261 FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_REGEX
264 "${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
265 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
266 DOC "wxWindows static regex library" )
271 FIND_LIBRARY(WXWINDOWS_SHARED_LIBRARY_GL
272 NAMES wx_gl wxmsw_gl wxmsw26_gl
274 "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
275 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
276 DOC "wxWindows shared release build GL library" )
278 FIND_LIBRARY(WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
279 NAMES wxd_gl wxmswd_gl wxmsw26d_gl
281 "${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
282 ${WXWINDOWS_POSSIBLE_LIB_PATHS}
283 DOC "wxWindows shared debug build GL library" )
286 ELSE (WXWINDOWS_USE_MONOLITHIC)
287 ## WX is built as multiple small pieces libraries instead of monolithic
289 ## DEPECATED (jw) replaced by more general WXWINDOWS_USE_MONOLITHIC ON/OFF
290 # OPTION(WXWINDOWS_SEPARATE_LIBS_BUILD "Is wxWindows build with separate libs?" OFF)
292 ## HACK: This is very dirty.
293 ## because the libs of a particular version are explicitly listed
294 ## and NOT searched/verified.
295 ## TODO: Really search for each lib, then decide for
296 ## monolithic x debug x shared x GL (=16 combinations) for at least 18 libs
297 ## --> about 288 combinations
298 ## thus we need a different approach so solve this correctly ...
300 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).")
302 SET(WXWINDOWS_STATIC_LIBS ${WXWINDOWS_STATIC_LIBS}
325 ## HACK: feed in to optimized / debug libaries if both were FOUND.
326 SET(WXWINDOWS_STATIC_DEBUG_LIBS ${WXWINDOWS_STATIC_DEBUG_LIBS}
349 ENDIF (WXWINDOWS_USE_MONOLITHIC)
353 ## now we should have found all WX libs available on the system.
354 ## let the user decide which of the available onse to use.
357 ## if there is at least one shared lib available
358 ## let user choose wether to use shared or static wxwindows libs
359 IF(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
360 ## default value OFF because wxWindows MSVS default build is static
361 OPTION(WXWINDOWS_USE_SHARED_LIBS
362 "Use shared versions (dll) of wxWindows libraries?" OFF)
363 MARK_AS_ADVANCED(WXWINDOWS_USE_SHARED_LIBS)
364 ENDIF(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
366 ## add system libraries wxwindows always seems to depend on
367 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
373 IF (NOT WXWINDOWS_USE_SHARED_LIBS)
374 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
375 ## these ones dont seem required, in particular ctl3d32 is not neccesary (Jan Woetzel 07/2003)
377 debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB} optimized ${WXWINDOWS_STATIC_LIBRARY_ZLIB}
378 debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX} optimized ${WXWINDOWS_STATIC_LIBRARY_REGEX}
379 debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG} optimized ${WXWINDOWS_STATIC_LIBRARY_PNG}
380 debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG} optimized ${WXWINDOWS_STATIC_LIBRARY_JPEG}
381 debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF} optimized ${WXWINDOWS_STATIC_LIBRARY_TIFF}
383 ENDIF (NOT WXWINDOWS_USE_SHARED_LIBS)
385 ## opengl/glu: TODO/FIXME: better use FindOpenGL.cmake here
386 ## assume release versions of glu an dopengl, here.
387 IF (WXWINDOWS_USE_GL)
388 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
391 ENDIF (WXWINDOWS_USE_GL)
394 ## select between use of shared or static wxWindows lib then set libs to use
395 ## for debug and optimized build. so the user can switch between debug and
396 ## release build e.g. within MS Visual Studio without running cmake with a
397 ## different build directory again.
399 ## then add the build specific include dir for wx/setup.h
402 IF(WXWINDOWS_USE_SHARED_LIBS)
403 ##MESSAGE("DBG wxWindows use shared lib selected.")
404 ## assume that both builds use the same setup(.h) for simplicity
406 ## shared: both wx (debug and release) found?
407 ## assume that both builds use the same setup(.h) for simplicity
408 IF(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
409 ##MESSAGE("DBG wx shared: debug and optimized found.")
410 FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
411 ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
412 ${WXWINDOWS_ROOT_DIR}/lib/mswdll
413 ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd
414 ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
415 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
416 debug ${WXWINDOWS_SHARED_DEBUG_LIBRARY}
417 optimized ${WXWINDOWS_SHARED_LIBRARY} )
418 IF (WXWINDOWS_USE_GL)
419 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
420 debug ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL}
421 optimized ${WXWINDOWS_SHARED_LIBRARY_GL} )
422 ENDIF (WXWINDOWS_USE_GL)
423 ENDIF(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
425 ## shared: only debug wx lib found?
426 IF(WXWINDOWS_SHARED_DEBUG_LIBRARY)
427 IF(NOT WXWINDOWS_SHARED_LIBRARY)
428 ##MESSAGE("DBG wx shared: debug (but no optimized) found.")
429 FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
430 ${WXWINDOWS_ROOT_DIR}/lib/mswdlld
431 ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd )
432 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
433 ${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
434 IF (WXWINDOWS_USE_GL)
435 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
436 ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
437 ENDIF (WXWINDOWS_USE_GL)
438 ENDIF(NOT WXWINDOWS_SHARED_LIBRARY)
439 ENDIF(WXWINDOWS_SHARED_DEBUG_LIBRARY)
441 ## shared: only release wx lib found?
442 IF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
443 IF(WXWINDOWS_SHARED_LIBRARY)
444 ##MESSAGE("DBG wx shared: optimized (but no debug) found.")
445 FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
446 ${WXWINDOWS_ROOT_DIR}/lib/mswdll
447 ${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
448 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
449 ${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
450 IF (WXWINDOWS_USE_GL)
451 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
452 ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
453 ENDIF (WXWINDOWS_USE_GL)
454 ENDIF(WXWINDOWS_SHARED_LIBRARY)
455 ENDIF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
457 ## shared: none found?
458 IF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
459 IF(NOT WXWINDOWS_SHARED_LIBRARY)
461 "No shared wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
462 ENDIF(NOT WXWINDOWS_SHARED_LIBRARY)
463 ENDIF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
465 #########################################################################################
466 ELSE(WXWINDOWS_USE_SHARED_LIBS)
468 ##jw: DEPRECATED IF(NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
470 ## static: both wx (debug and release) found?
471 ## assume that both builds use the same setup(.h) for simplicity
472 IF(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
473 ##MESSAGE("DBG wx static: debug and optimized found.")
474 FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
475 ${WXWINDOWS_ROOT_DIR}/lib/mswd
476 ${WXWINDOWS_ROOT_DIR}/lib/msw
477 ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd
478 ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
479 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
480 debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY}
481 optimized ${WXWINDOWS_STATIC_LIBRARY} )
482 IF (WXWINDOWS_USE_GL)
483 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
484 debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL}
485 optimized ${WXWINDOWS_STATIC_LIBRARY_GL} )
486 ENDIF (WXWINDOWS_USE_GL)
487 ENDIF(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
489 ## static: only debug wx lib found?
490 IF(WXWINDOWS_STATIC_DEBUG_LIBRARY)
491 IF(NOT WXWINDOWS_STATIC_LIBRARY)
492 ##MESSAGE("DBG wx static: debug (but no optimized) found.")
493 FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
494 ${WXWINDOWS_ROOT_DIR}/lib/mswd
495 ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd )
496 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
497 ${WXWINDOWS_STATIC_DEBUG_LIBRARY} )
498 IF (WXWINDOWS_USE_GL)
499 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
500 ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL} )
501 ENDIF (WXWINDOWS_USE_GL)
502 ENDIF(NOT WXWINDOWS_STATIC_LIBRARY)
503 ENDIF(WXWINDOWS_STATIC_DEBUG_LIBRARY)
505 ## static: only release wx lib found?
506 IF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
507 IF(WXWINDOWS_STATIC_LIBRARY)
508 ##MESSAGE("DBG wx static: optimized (but no debug) found.")
509 FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
510 ${WXWINDOWS_ROOT_DIR}/lib/msw
511 ${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
512 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
513 ${WXWINDOWS_STATIC_LIBRARY} )
514 IF (WXWINDOWS_USE_GL)
515 SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
516 ${WXWINDOWS_STATIC_LIBRARY_GL} )
517 ENDIF (WXWINDOWS_USE_GL)
518 ENDIF(WXWINDOWS_STATIC_LIBRARY)
519 ENDIF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
521 ## static: none found?
522 IF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
523 IF(NOT WXWINDOWS_STATIC_LIBRARY)
525 "No static wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
526 ENDIF(NOT WXWINDOWS_STATIC_LIBRARY)
527 ENDIF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
528 ENDIF(WXWINDOWS_USE_SHARED_LIBS)
531 ## not neccessary in wxWindows 2.4.1 and 2.6.2
532 ## but it may fix a previous bug, see
533 ## http://lists.wxwindows.org/cgi-bin/ezmlm-cgi?8:mss:37574:200305:mpdioeneabobmgjenoap
534 OPTION(WXWINDOWS_SET_DEFINITIONS "Set additional defines for wxWindows" OFF)
535 MARK_AS_ADVANCED(WXWINDOWS_SET_DEFINITIONS)
536 IF (WXWINDOWS_SET_DEFINITIONS)
537 SET(WXWINDOWS_DEFINITIONS "-DWINVER=0x400")
538 ELSE (WXWINDOWS_SET_DEFINITIONS)
540 SET(WXWINDOWS_DEFINITIONS "")
541 ENDIF (WXWINDOWS_SET_DEFINITIONS)
545 ## Find the include directories for wxwindows
546 ## the first, build specific for wx/setup.h was determined before.
547 ## add inc dir for general for "wx/wx.h"
548 FIND_PATH(WXWINDOWS_INCLUDE_DIR wx/wx.h
549 "${WXWINDOWS_ROOT_DIR}/include" )
550 ## append the build specific include dir for wx/setup.h:
551 IF (WXWINDOWS_INCLUDE_DIR_SETUPH)
552 SET(WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} ${WXWINDOWS_INCLUDE_DIR_SETUPH} )
553 ENDIF (WXWINDOWS_INCLUDE_DIR_SETUPH)
559 WXWINDOWS_INCLUDE_DIR
560 WXWINDOWS_INCLUDE_DIR_SETUPH
561 WXWINDOWS_STATIC_LIBRARY
562 WXWINDOWS_STATIC_LIBRARY_GL
563 WXWINDOWS_STATIC_DEBUG_LIBRARY
564 WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
565 WXWINDOWS_STATIC_LIBRARY_ZLIB
566 WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
567 WXWINDOWS_STATIC_LIBRARY_REGEX
568 WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
569 WXWINDOWS_STATIC_LIBRARY_PNG
570 WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
571 WXWINDOWS_STATIC_LIBRARY_JPEG
572 WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
573 WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
574 WXWINDOWS_STATIC_LIBRARY_TIFF
575 WXWINDOWS_SHARED_LIBRARY
576 WXWINDOWS_SHARED_DEBUG_LIBRARY
577 WXWINDOWS_SHARED_LIBRARY_GL
578 WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
582 ELSE(WIN32_STYLE_FIND)
585 ## ######################################################################
587 ## UNIX/Linux specific:
589 ## use backquoted wx-config to query and set flags and libs:
590 ## 06/2003 Jan Woetzel
593 OPTION(WXWINDOWS_USE_SHARED_LIBS "Use shared versions (.so) of wxWindows libraries" ON)
594 MARK_AS_ADVANCED(WXWINDOWS_USE_SHARED_LIBS)
596 # JW removed option and force the develper th SET it.
597 # OPTION(WXWINDOWS_USE_GL "use wxWindows with GL support (use additional
598 # --gl-libs for wx-config)?" OFF)
600 # wx-config should be in your path anyhow, usually no need to set WXWIN or
601 # search in ../wx or ../../wx
602 FIND_PROGRAM(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE wx-config
608 # check wether wx-config was found:
609 IF(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
611 # use shared/static wx lib?
612 # remember: always link shared to use systems GL etc. libs (no static
613 # linking, just link *against* static .a libs)
614 IF(WXWINDOWS_USE_SHARED_LIBS)
615 SET(WX_CONFIG_ARGS_LIBS "--libs")
616 ELSE(WXWINDOWS_USE_SHARED_LIBS)
617 SET(WX_CONFIG_ARGS_LIBS "--static --libs")
618 ENDIF(WXWINDOWS_USE_SHARED_LIBS)
620 # do we need additionial wx GL stuff like GLCanvas ?
622 SET(WX_CONFIG_ARGS_LIBS "${WX_CONFIG_ARGS_LIBS} --gl-libs" )
623 ENDIF(WXWINDOWS_USE_GL)
624 ##MESSAGE("DBG: WX_CONFIG_ARGS_LIBS=${WX_CONFIG_ARGS_LIBS}===")
626 # set CXXFLAGS to be fed into CMAKE_CXX_FLAGS by the user:
627 IF (HAVE_ISYSTEM) # does the compiler support -isystem ?
628 IF (NOT APPLE) # -isystem seem sto be unsuppored on Mac
629 IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
630 IF (CMAKE_CXX_COMPILER MATCHES g\\+\\+)
631 SET(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
632 ELSE(CMAKE_CXX_COMPILER MATCHES g\\+\\+)
633 SET(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags`")
634 ENDIF(CMAKE_CXX_COMPILER MATCHES g\\+\\+)
635 ENDIF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
638 ##MESSAGE("DBG: for compilation:
639 ##CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS}===")
641 # keep the back-quoted string for clarity
642 SET(WXWINDOWS_LIBRARIES "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} ${WX_CONFIG_ARGS_LIBS}`")
643 ##MESSAGE("DBG2: for linking:
644 ##WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}===")
646 # evaluate wx-config output to separate linker flags and linkdirs for
648 EXEC_PROGRAM(${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
649 ARGS ${WX_CONFIG_ARGS_LIBS}
650 OUTPUT_VARIABLE WX_CONFIG_LIBS )
652 ## extract linkdirs (-L) for rpath
653 ## use regular expression to match wildcard equivalent "-L*<endchar>"
654 ## with <endchar> is a space or a semicolon
655 STRING(REGEX MATCHALL "[-][L]([^ ;])+" WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX "${WX_CONFIG_LIBS}" )
656 # MESSAGE("DBG WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX=${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX}")
658 ## remove prefix -L because we need the pure directory for LINK_DIRECTORIES
659 ## replace -L by ; because the separator seems to be lost otherwise (bug or
661 IF(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX)
662 STRING(REGEX REPLACE "[-][L]" ";" WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX} )
663 # MESSAGE("DBG WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}")
664 ENDIF(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX)
667 ## replace space separated string by semicolon separated vector to make it
668 ## work with LINK_DIRECTORIES
669 SEPARATE_ARGUMENTS(WXWINDOWS_LINK_DIRECTORIES)
672 CMAKE_WXWINDOWS_CXX_FLAGS
673 WXWINDOWS_INCLUDE_DIR
675 CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE
679 ## we really need wx-config...
680 ELSE(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
681 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.")
682 MARK_AS_ADVANCED(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
683 ENDIF(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
687 ELSE(UNIX_STYLE_FIND)
688 MESSAGE(STATUS "FindwxWindows.cmake: Platform unknown/unsupported by FindwxWindows.cmake. It's neither WIN32 nor UNIX")
689 ENDIF(UNIX_STYLE_FIND)
690 ENDIF(WIN32_STYLE_FIND)
693 IF(WXWINDOWS_LIBRARIES)
694 IF(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
695 ## found all we need.
696 SET(WXWINDOWS_FOUND 1)
698 ## set deprecated variables for backward compatibility:
699 SET(CMAKE_WX_CAN_COMPILE ${WXWINDOWS_FOUND})
700 SET(WXWINDOWS_LIBRARY ${WXWINDOWS_LIBRARIES})
701 SET(WXWINDOWS_INCLUDE_PATH ${WXWINDOWS_INCLUDE_DIR})
702 SET(WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES})
703 SET(CMAKE_WX_CXX_FLAGS ${CMAKE_WXWINDOWS_CXX_FLAGS})
705 ENDIF(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
706 ENDIF(WXWINDOWS_LIBRARIES)