summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2003-10-13 20:04:24 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2003-10-13 20:04:24 (GMT)
commit97dd683836337c6f9c3a488ec6f42dfba28d750e (patch)
tree084b9a08a6c636cd7d67c62e9145b8d5bbd7247a
parentdb12c17017ec8b5af121fc1c75eec63003c5ef1d (diff)
downloadCMake-97dd683836337c6f9c3a488ec6f42dfba28d750e.zip
CMake-97dd683836337c6f9c3a488ec6f42dfba28d750e.tar.gz
CMake-97dd683836337c6f9c3a488ec6f42dfba28d750e.tar.bz2
ENH: Add test for FindwxWindows. Thanks to: Mathieu Malaterre
-rw-r--r--Source/CMakeLists.txt11
-rw-r--r--Tests/UseWX/CMakeLists.txt9
-rw-r--r--Tests/UseWX/WX.cxx78
3 files changed, 98 insertions, 0 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 81e79f6..3053f6a 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -361,6 +361,17 @@ IF(BUILD_TESTING)
objc++)
ENDIF (APPLE)
+ IF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+ # Will be set if the wxwindows gui is on
+ ADD_TEST(UseWX ${EXECUTABLE_OUTPUT_PATH}/cmaketest
+ ${CMake_SOURCE_DIR}/Tests/UseWX
+ ${CMake_BINARY_DIR}/Tests/UseWX
+ UseWX
+ ${CMake_BINARY_DIR}/Tests/UseWX
+ UsewxWindows
+ CMAKE_ARGS -DCMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE:FILEPATH=${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE})
+ ENDIF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+
IF(UNIX)
IF("x${CMAKE_INSTALL_PREFIX}" MATCHES "^x${CMake_BINARY_DIR}/Tests/TestInstall/Prefix$")
CONFIGURE_FILE(
diff --git a/Tests/UseWX/CMakeLists.txt b/Tests/UseWX/CMakeLists.txt
new file mode 100644
index 0000000..e1583a7
--- /dev/null
+++ b/Tests/UseWX/CMakeLists.txt
@@ -0,0 +1,9 @@
+PROJECT (UsewxWindows)
+
+INCLUDE( ${CMAKE_ROOT}/Modules/Use_wxWindows.cmake)
+
+ADD_EXECUTABLE (UseWX WX.cxx)
+
+#TODO:
+#- dll linking is not working on WIN32, need to '-DWXUSINGDLL' to preprocessor
+
diff --git a/Tests/UseWX/WX.cxx b/Tests/UseWX/WX.cxx
new file mode 100644
index 0000000..f8d8b20
--- /dev/null
+++ b/Tests/UseWX/WX.cxx
@@ -0,0 +1,78 @@
+//For wx
+#include <wx/app.h>
+#include <wx/dir.h>
+
+static void TestDirEnumHelper(wxDir& dir,
+ int flags = wxDIR_DEFAULT,
+ const wxString& filespec = wxEmptyString)
+{
+ wxString filename;
+
+ if ( !dir.IsOpened() )
+ return;
+
+ bool cont = dir.GetFirst(&filename, filespec, flags);
+ while ( cont )
+ {
+ wxPrintf(_T("\t%s\n"), filename.c_str());
+
+ cont = dir.GetNext(&filename);
+ }
+
+ wxPuts(_T(""));
+}
+
+
+//----------------------------------------------------------------------------
+// MyApp
+//----------------------------------------------------------------------------
+
+class MyApp: public wxApp
+{
+public:
+ MyApp();
+
+ bool OnInit();
+ int MainLoop();
+};
+
+
+IMPLEMENT_APP(MyApp)
+
+MyApp::MyApp()
+{
+}
+
+bool MyApp::OnInit()
+{
+ //test a directory that exist:
+ wxDir dir(wxT(".")); //wxDir dir("/tmp");
+ TestDirEnumHelper(dir, wxDIR_DEFAULT | wxDIR_DOTDOT);
+
+ //Testing if link to wx debug library
+#ifdef __WXDEBUG__
+ std::cout << "If you read this you're in debug mode." << std::endl;
+#endif //__WXDEBUG__
+
+ wxChar ch = wxT('*');
+ wxString s = wxT("Hello, world!");
+ int len = s.Len();
+ printf("Length of string is: %d\n", len);
+
+ //Force testing of Unicode mode
+#ifdef __UNICODE__
+ wprintf(L"Unicode: %s \n", s.c_str());
+ wprintf(:"Char: %c\n", ch);
+#else
+ printf("ANSI: %s \n", s.c_str());
+ printf("Char: %c\n", ch);
+#endif //__UNICODE__
+
+ //return immediately
+ return TRUE;
+}
+
+int MyApp::MainLoop()
+{
+ return 0;
+}