Commit Graph

162 Commits

Author SHA1 Message Date
Brad King
3b26fa13c4 KWSys: Optionally suppress consistent test failures
Add option KWSYS_TEST_BOGUS_FAILURES that can be set by a containing
project or in the CMake cache to list tests known to fail consistently
on a buggy system.
2010-06-30 11:42:08 -04:00
Brad King
b84220b287 KWSys: Use short fallback timeout for Process tests
If any of the KWSys Process tests take more than a minute or two then
something is wrong.  There is no need to wait for a long default
timeout.
2010-06-30 11:41:59 -04:00
Brad King
5c16024fbb KWSys: Pass ptrdiff_t check result to System.c
Since commit "Provide unix-sytle command line parsing" (2009-07-13) the
reference to KWSYS_C_HAS_PTRDIFF_T in System.c has been meaningless
because the macro was never passed to the compiler!
2010-06-29 08:50:03 -04:00
Brad King
d2222d529d KWSys: Cleanup putenv leak option implementation
Define KWSYS_DO_NOT_CLEAN_PUTENV only for the implementation.  It does
not need to be configured in the interface of "Configure.hxx".
2010-06-29 08:50:03 -04:00
Brad King
3f92947524 KWSys: Configure DynamicLoader library prefix/suffix
The DynamicLoader::LibPrefix and DynamicLoader::LibExtension methods
previously hard-coded the module name components for each platform.  Set
them from the CMAKE_SHARED_MODULE_PREFIX and CMAKE_SHARED_MODULE_SUFFIX
CMake variables instead.  This ensures consistency in a program that
uses these methods to construct the file names for its own modules.
2010-06-10 09:26:32 -04:00
Brad King
357096d35a KWSys: Build tests after libraries
The TestSharedForward executable and TestDynload module do not actually
link to a KWSys library, but it is nice to build them after the
libraries just like all other test binaries.

This also works around a universal binary bug in Xcode 2.x.  It forgets
to create the output directory for the executable before linking it.  We
avoid the problem by putting the library in the directory first.
2009-12-15 14:15:27 -05:00
Brad King
15316c12f5 KWSys: Remove default exe output path
KWSys should not set variables outside its namespace.  It can honor the
EXECUTABLE_OUTPUT_PATH set by a host project, but tere is no need for it
to set a default in the host project cache.
2009-12-08 11:27:22 -05:00
Brad King
574902fef2 KWSys: Work-around llvm-gcc-4.2 optimizer bug
Under -O3 optimization this compiler breaks our testProcess.c source file.
We force -O0 for the file to avoid the problem.
2009-11-23 15:31:29 -05:00
Brad King
9ec851bc90 KWSys: Set CMP0003 to NEW
The commit "Enable loose loop constructs in KWSys" set the minimum
required CMake version to 2.4.5.  This regressed the setting of CMP0003,
so we restore it in this commit.
2009-11-20 12:04:08 -05:00
Brad King
bbbdf54a35 Fix KWSys FundamentalType for Universal Binaries
The FundamentalType header needs to know type sizes at preprocessing
time.  This commit teaches it to avoid using CHECK_TYPE_SIZE because the
macro does not work for types whose size varies across architectuers in
Mac OS X universal binaries.  Fortunately the Mac compilers provide just
enough information to detect the needed type sizes during preprocessing.

We now use preprocessor macros instead of configuration tests whenever
they are available.  As a side effect this reduces the number of
try-compiles needed with GCC.

See issue #9913.
2009-11-20 08:38:18 -05:00
Brad King
2d80c9e31a Check for 'long long' without computing size
In KWSys IOStream we need to detect whether 'long long' exists but we do
not need its size.  We avoid using CHECK_TYPE_SIZE because it does not
work for types whose size varies across architectuers in Mac OS X
universal binaries.  See issue #9913.
2009-11-20 08:37:33 -05:00
Brad King
2a789187fc Enable loose loop constructs in KWSys
We set CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS in KWSys's CMakeLists.txt file
to enable simpler endif() syntax for CMake 2.4.
2009-11-20 08:37:10 -05:00
Brad King
de955e4b6d Convert KWSys to OSI-approved BSD License
This converts the KWSys license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the KWSys copyright to
cover the full development time range.
2009-09-28 11:37:35 -04:00
Brad King
832f0a88f0 Install KWSys Copyright.txt as documentation
This commit adds KWSys configuration option KWSYS_INSTALL_DOC_DIR to
specify the directory for installation of documentation.  We use it to
put the KWSys Copyright.txt file at the location

  ${KWSYS_INSTALL_DOC_DIR}/${KWSYS_NAMESPACE}/Copyright.txt

in the project installation tree.  This helps containing projects meet
the license requirement to distribute the copyright and license with
binary forms.
2009-09-28 11:36:54 -04:00
Bill Hoffman
472966ed5f Can not use cmakedefine in kwsys because bootstrap of cmake does not support it. 2009-09-22 15:58:13 -04:00
Brad King
207aab6acf Define kwsys_ios_binary macro for std::ios::binary
The 'binary' openmode does not exist on all compilers.  We define macro
<kwsys>_ios_binary, where <kwsys> is the KWSys namespace, to refer to
std::ios::binary if it exists and 0 otherwise.  Sample usage:

  kwsys_ios::ifstream fin(fn, kwsys_ios::ios::in | kwsys_ios_binary);
2009-08-31 13:00:55 -04:00
Brad King
cf1225b9af BUG: Enable large files only if <cstdio> works
Some AIX/gcc version combinations the <cstdio> header breaks when large
file support is enabled.  See this GCC issue for details:

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20366

We work around the problem by enhancing the configuration check for
large file support to include <cstdio> when available.  This will cause
LFS to be disabled when the above problem occurs.
2009-07-27 16:45:15 -04:00
Brad King
776e21d1c7 COMP: Avoid String.c inclusion by Compaq templates
The Compaq compiler (on VMS) includes 'String.c' in source files that
use the stl string while looking for template definitions.  This was the
true cause of double-inclusion of the 'kwsysPrivate.h' header.  We work
around the problem by conditionally compiling the entire source file on
a condition only true when really building the source.
2009-06-10 11:46:06 -04:00
Brad King
b44026f74a ENH: Optionally label KWSys targets and tests
This provides an API for parent projects to use to specify values to be
set in the LABELS properties of KWSys libraries, executables, and tests.
2009-02-13 15:49:52 -05:00
Brad King
6d8b207867 ENH: Add KWSys header files to library targets
This adds the configured KWSys header files to the library targets that
implement their APIs so that they show up in IDE project files.
2009-02-13 15:49:47 -05:00
Brad King
1c70745c62 BUG: Fix KWSys SystemInformation dependencies
The SystemInformation component of KWSys requires Process and
FundamentalType.
2008-10-17 12:52:03 -04:00
Brad King
32be27c6de BUG: Enforce KWSys component dependencies early
KWSys component dependencies must be enforced before any tests for
enabled components are done.  This moves the dependency enforcement code
to be as early as possible.
2008-10-17 12:51:57 -04:00
Brad King
d82f98f8b1 ENH: Add test for KWSys SharedForward
This tests the basic capability of running another executable from the
build tree.
2008-09-26 08:24:31 -04:00
Brad King
6a906befae ENH: In KWSys set the IMPLICIT_DEPENDS_INCLUDE_TRANSFORM property.
- Tells CMake about the KWSYS_HEADER macro.
  - Enables implicit dependencies of private source files.
  - When a CMake new enough to support the property is required
    the "#if 0" hack can be removed from the source files.
2008-05-14 11:55:41 -04:00
Brad King
33c84b50e9 ENH: Set CMake Policy CMP0003 to NEW behavior to build without warnings with the upcoming CMake 2.6 release. 2008-03-17 16:22:28 -04:00
Brad King
4a40fe43e3 ENH: Added CPU.h to KWSys to identify the target CPU and its byte order. 2008-02-27 16:07:14 -05:00
Brad King
82d8264b9f BUG: Need to install cstddef header. 2008-01-31 12:56:18 -05:00
Bill Hoffman
c4093afc52 ENH: enhancements for cdash, include system information and better time entries 2008-01-30 11:17:36 -05:00
Bill Hoffman
b9a54d392e ENH: turn off for now 2008-01-08 16:28:46 -05:00
Bill Hoffman
50c5d5a3d5 ENH: fix leaks and turn on by default 2008-01-08 14:59:57 -05:00
Bill Hoffman
66fff9d4b7 ENH: add missing file 2008-01-08 11:43:07 -05:00
Bill Hoffman
c87853430e ENH: add new system information class for use in ctest 2008-01-08 11:38:28 -05:00
Brad King
b0078fd3b4 ENH: Added C String utilities to KWSys. Implemented strcasecmp and strncasecmp. 2007-12-11 11:36:57 -05:00
Brad King
f97dddf0ee BUG: Fixed typo in previous commit. 2007-11-12 17:38:15 -05:00
Brad King
f8a5d485a0 ENH: Adding DateStamp feature to KWSys. This provides a header file giving preprocessor access to a dated version. The 'datestamp' will be updated automatically every day by a script. 2007-11-12 17:34:14 -05:00
Bill Hoffman
797db515a0 ENH: fix failing test when valgrind is on 2007-09-19 11:16:57 -04:00
David Cole
f1115a30ee COMP: Second try getting rid of Microsoft deprecation warnings. This time tested from KWStyle with vs8 to make sure the warnings are really gone. Remove the deprecation defs from CMakeLists and guard the defs in the header so we do not redefine them if they are already defined. 2007-08-15 11:38:13 -04:00
Brad King
d5cb9b1a0d COMP: Skip testAutoPtr and testHashSTL on Watcom. They are hopeless. 2007-04-19 12:11:56 -04:00
Brad King
28f6b148f6 ENH: Fixed stl string streaming operators for Watcom. 2007-04-19 11:21:35 -04:00
Brad King
6d2f08b6e1 ENH: Added MD5 implementation to KWSys. 2007-03-14 15:12:10 -04:00
Brad King
091eafefb3 COMP: All kwsys .hxx headers should include Configure.hxx. Re-enabling testAutoPtr. 2007-03-03 15:43:31 -05:00
Brad King
55abd50681 COMP: Disable auto_ptr test for now. 2007-03-03 15:32:00 -05:00
Brad King
3fcec9daa4 ENH: Added test for auto_ptr. Documented aut_ptr template implementation. 2007-03-03 14:48:48 -05:00
Brad King
0edbb68352 ENH: Cleaned up KWSys tests to use test drivers. 2007-03-03 10:47:06 -05:00
Brad King
53c72ed6c3 COMP: Disable LFS on AIX. 2007-02-21 13:33:19 -05:00
Brad King
52803bc8af BUG: Added use of KWSYS_INSTALL_COMPONENT_NAME_DEVELOPMENT for header file install rules. 2007-01-26 14:26:44 -05:00
Mathieu Malaterre
b9787a965f BUG: revert yesterday patch. The implementation was correct. The problem was that _WIN32 was forced to be #define on cygwin when included from ITK, which was miss matching the implementation from the declaration. Put extra condition for CYGWIN system 2006-12-09 11:25:25 -05:00
Mathieu Malaterre
458fa7559b BUG: Make sure to use the Win32 interface (HINSTANCE) for handling shared lib on cygwin and mingw system 2006-12-08 15:52:30 -05:00
Andy Cedilnik
2f713072c7 ENH: Report command line as a measurement and allow user to add custom measurements 2006-10-13 09:30:33 -04:00
David Cole
22442fd9e1 STYLE: Make the set of supported STL headers the same in vtkstd and vtksys/stl. (The union of the present values of the two sets.) 2006-10-06 11:13:02 -04:00