[Cmake] wxWindows and FindGTK.cmake
Jolinda Smith
jolinda at darkwing.uoregon.edu
Fri Mar 14 14:39:46 EST 2003
Hello,
I'm using cmake files from the wxWindows contribution site to compile
wxWindows. The cmakelists.txt file includes the line:
INCLUDE (${CMAKE_ROOT}/Modules/FindGTK.cmake)
When I run cmakesetup (latest binaries for windows), I get an error
indicating that it found an unclosed IF(UNIX) statement. If I comment
out the above line, everything is fine. All if statements in my
cmakelists.txt and in FindGTK.cmake look okay to me, so I'm not sure
what's happening. It's not a big problem for me, since I'm only using
windows right now, but obviously something is wrong. Here's the complete
cmakelists.txt:
PROJECT(wxWindows)
# use configure script to generate setup.h for now
IF(UNIX)
IF(RUN_CONFIGURE)
EXEC_PROGRAM("/bin/sh ${wxWindows_SOURCE_DIR}/configure_cmake"
${wxWindows_BINARY_DIR})
ENDIF(RUN_CONFIGURE)
ENDIF(UNIX)
SET (LIBRARY_OUTPUT_PATH ${wxWindows_BINARY_DIR}/lib/ CACHE PATH "Single
output directory for building all libraries.")
SET (EXECUTABLE_OUTPUT_PATH ${wxWindows_BINARY_DIR}/lib/ CACHE PATH
"Single output directory for building all executables.")
MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)
SET (wxWindows_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH}
CACHE INTERNAL "Where wxWindows libraries are. Used by projects which
depend on VTK. Do not remove.")
SET (wxWindows_EXECUTABLE_PATH ${EXECUTABLE_OUTPUT_PATH}
CACHE INTERNAL "Where wxWindows executables are. Used by projects which
depend on VTK. Do not remove.")
IF(NOT WIN32)
FIND_PROGRAM(BISON_EXECUTABLE
NAMES bison)
FIND_PROGRAM(FLEX_EXECUTABLE
NAMES flex)
ENDIF(NOT WIN32)
MAKE_DIRECTORY(${wxWindows_LIBRARY_PATH})
INCLUDE_DIRECTORIES(${wxWindows_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES(${wxWindows_SOURCE_DIR}/src/jpeg)
INCLUDE_DIRECTORIES(${wxWindows_SOURCE_DIR}/src/tiff)
INCLUDE_DIRECTORIES(${wxWindows_SOURCE_DIR}/src/png)
INCLUDE_DIRECTORIES(${wxWindows_SOURCE_DIR}/src/regex)
INCLUDE_DIRECTORIES(${wxWindows_SOURCE_DIR}/src/zlib)
INCLUDE_DIRECTORIES(${wxWindows_LIBRARY_PATH})
IF(WIN32)
SET(WX_LIB_NAME wxmsw CACHE INTERNAL "name of wx windows library")
SET(WX_LIBRARIES ${WX_LIBRARIES} ws2_32.lib comctl32.lib rpcrt4.lib)
SET(WX_COMPILE_DEFINITIONS -DWIN32 -D__WIN32__ -D_WINDOWS -DWINVER=0x040
0 -D__WXMSW__ /D__WINDOWS__ -D__WIN95__ -DSTRICT /D__WXDEBUG__)
OPTION(WX_USE_GENERIC "Turn on to use generic code instead of native
code" FALSE)
OPTION(WX_USE_UNIVERSAL "Turn on for wxUniversal support" FALSE)
ENDIF(WIN32)
# always use lowlevel???
SET(WX_USE_BASE 1)
SET(WX_USE_LOWLEVEL 1)
IF(WIN32)
OPTION(WX_USE_MSW "Turn on for native MS windows support" TRUE)
OPTION(WX_USE_OLE "Turn on for win32 with a decent compiler" TRUE)
SET(WX_USE_SOCKET 1)
ENDIF(WIN32)
IF(APPLE)
OPTION(WX_USE_MAC "Turn on for Apple native support" TRUE)
ENDIF(APPLE)
OPTION(WX_USE_BASEONLY "Turn on for building wxBase" FALSE)
OPTION(WX_USE_BASE "Turn on for building wxBase" FALSE)
IF(UNIX)
OPTION(WX_USE_X "Turn on for X support not needed for Motif" FALSE)
IF(CMAKE_HAS_X)
OPTION(WX_USE_X11 "Turn on for X11 support" FALSE)
ENDIF(CMAKE_HAS_X)
ENDIF(UNIX)
IF(WIN32)
OPTION(WX_USE_MSW "Turn on for native MS windows support", TRUE)
OPTION(WX_USE_OLE "Turn on for win32 with a decent compiler" TRUE)
SET(WX_USE_SOCKET 1)
ENDIF(WIN32)
IF(APPLE)
OPTION(WX_USE_MAC "Turn on for Apple native support" TRUE)
ENDIF(APPLE)
OPTION(WX_USE_BASEONLY "Turn on for building wxBase" FALSE)
OPTION(WX_USE_BASE "Turn on for building wxBase" FALSE)
IF(UNIX)
OPTION(WX_USE_X "Turn on for X support not needed for Motif" FALSE)
OPTION(WX_USE_X11 "Turn on for X11 support" FALSE)
OPTION(WX_USE_MOTIF "Turn on for Motif support", FALSE)
ENDIF(UNIX)
INCLUDE (${CMAKE_ROOT}/Modules/FindGTK.cmake)
IF(GTK_FOUND)
SET(WX_HAS_GTK 1)
OPTION(WX_USE_GTK "Turn on for GTK port" TRUE)
ENDIF(GTK_FOUND)
OPTION(WX_USE_THREADS "Turn on threads support" TRUE)
IF(WX_USE_GTK)
SET(WX_COMPILE_DEFINITIONS -DGTK_NO_CHECK_CASTS -D__WXGTK__)
SET(WX_LIB_NAME wxgtk CACHE INTERNAL "name of wx windows library")
INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIR})
OPTION(WX_USE_GENERIC "Turn on to use generic code instead of native
code" TRUE)
OPTION(WX_USE_UNIVERSAL "Turn on for wxUniversal support" TRUE)
IF(WX_USE_THREADS)
SET(WX_LIBRARIES ${WX_LIBRARIES} -lgthread)
ENDIF(WX_USE_THREADS)
SET(WX_LIBRARIES ${WX_LIBRARIES} ${GTK_LIBRARIES} ${GTK_MODULES})
ENDIF(WX_USE_GTK)
IF(OS2)
OPTION(WX_USE_OS2 "Turn on for native OS2 support" FALSE)
ENDIF(OS2)
#OPTION(WX_USE_LOWLEVEL "Turn on for low level GUI toolkit" FALSE)
OPTION(WX_USE_MGL "Turn on for MGL port" FALSE)
OPTION(WX_USE_MICROWINDOWS "Turn on for micro windows support" FALSE)
IF(WX_USE_UNIVERSAL)
SET(WX_USE_THEME TRUE)
ENDIF(WX_USE_UNIVERSAL)
SUBDIRS(src samples)
ADD_DEFINITIONS(${WX_COMPILE_DEFINITIONS})
CONFIGURE_FILE(${wxWindows_SOURCE_DIR}/UseWX.cmake.in
${wxWindows_BINARY_DIR}/UseWX.cmake)
More information about the CMake
mailing list