Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CMake
CMake
Commits
0415b585
Commit
0415b585
authored
Apr 17, 2002
by
Bill Hoffman
Browse files
ENH: backwards compatible for VTK 4.0, add cmake version requires
parent
b7c368b5
Changes
15
Hide whitespace changes
Inline
Side-by-side
Source/cmAbstractFilesCommand.cxx
View file @
0415b585
...
...
@@ -40,10 +40,14 @@ bool cmAbstractFilesCommand::InitialPass(std::vector<std::string> const& argsIn)
}
else
{
m
+=
*
j
;
m
+=
"
\n
"
;
ret
=
false
;
}
// for VTK 4.0 we have to support missing abstract sources
if
(
m_Makefile
->
GetDefinition
(
"CMAKE_MINIMUM_REQUIRED_VERSION"
))
{
m
+=
*
j
;
m
+=
"
\n
"
;
ret
=
false
;
}
}
}
if
(
!
ret
)
{
...
...
Source/cmAddCustomCommandCommand.cxx
View file @
0415b585
...
...
@@ -18,19 +18,17 @@
// cmAddCustomCommandCommand
bool
cmAddCustomCommandCommand
::
InitialPass
(
std
::
vector
<
std
::
string
>
const
&
args
In
)
bool
cmAddCustomCommandCommand
::
InitialPass
(
std
::
vector
<
std
::
string
>
const
&
args
)
{
/* Let's complain at the end of this function about the lack of a particular
arg. For the moment, let's say that COMMAND, TARGET are always
required.
*/
if
(
args
In
.
size
()
<
4
)
if
(
args
.
size
()
<
4
)
{
this
->
SetError
(
"called with wrong number of arguments."
);
return
false
;
}
std
::
vector
<
std
::
string
>
args
;
cmSystemTools
::
ExpandListArguments
(
argsIn
,
args
);
std
::
string
source
,
command
,
target
;
std
::
vector
<
std
::
string
>
command_args
,
depends
,
outputs
;
...
...
Source/cmCMakeMinimumRequired.cxx
0 → 100644
View file @
0415b585
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Insight Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#include "cmCMakeMinimumRequired.h"
// cmCMakeMinimumRequired
bool
cmCMakeMinimumRequired
::
InitialPass
(
std
::
vector
<
std
::
string
>
const
&
args
)
{
if
(
args
.
size
()
!=
2
)
{
this
->
SetError
(
"called with incorrect number of arguments"
);
return
false
;
}
if
(
args
[
0
]
==
"VERSION"
)
{
m_Makefile
->
AddDefinition
(
"CMAKE_MINIMUM_REQUIRED_VERSION"
,
args
[
1
].
c_str
());
}
float
version
=
float
(
m_Makefile
->
GetMajorVersion
());
version
+=
(
float
(
m_Makefile
->
GetMinorVersion
())
*
.1
);
float
reqVersion
=
0
;
sscanf
(
args
[
1
].
c_str
(),
"%f"
,
&
reqVersion
);
if
(
reqVersion
>
version
)
{
std
::
strstream
str
;
str
<<
"WARNING: This project requires version: "
<<
args
[
1
].
c_str
()
<<
" of cmake.
\n
"
<<
"You are running version: "
<<
version
<<
std
::
ends
;
cmSystemTools
::
Message
(
str
.
str
());
delete
[]
str
.
str
();
}
return
true
;
}
Source/cmCMakeMinimumRequired.h
0 → 100644
View file @
0415b585
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Insight Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef cmCMakeMinimumRequired_h
#define cmCMakeMinimumRequired_h
#include "cmStandardIncludes.h"
#include "cmCommand.h"
/** \class cmCMakeMinimumRequired
* \brief Build a CMAKE variable
*
* cmCMakeMinimumRequired sets a variable to a value with expansion.
*/
class
cmCMakeMinimumRequired
:
public
cmCommand
{
public:
/**
* This is a virtual constructor for the command.
*/
virtual
cmCommand
*
Clone
()
{
return
new
cmCMakeMinimumRequired
;
}
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
*/
virtual
bool
InitialPass
(
std
::
vector
<
std
::
string
>
const
&
args
);
/**
* This determines if the command gets propagated down
* to makefiles located in subdirectories.
*/
virtual
bool
IsInherited
()
{
return
true
;}
/**
* The name of the command as specified in CMakeList.txt.
*/
virtual
const
char
*
GetName
()
{
return
"CMAKE_MINIMUM_REQUIRED"
;}
/**
* Succinct documentation.
*/
virtual
const
char
*
GetTerseDocumentation
()
{
return
"Determine the command line that will build this project."
;
}
/**
* More documentation.
*/
virtual
const
char
*
GetFullDocumentation
()
{
return
"CMAKE_MINIMUM_REQUIRED(NAME MAKECOMMAND)
\n
"
"Within CMAKE set NAME to the command that will build this project from the command line using MAKECOMMAND."
;
}
cmTypeMacro
(
cmCMakeMinimumRequired
,
cmCommand
);
};
#endif
Source/cmCommands.cxx
View file @
0415b585
...
...
@@ -29,6 +29,7 @@
#include "cmAuxSourceDirectoryCommand.cxx"
#include "cmBuildCommand.cxx"
#include "cmBuildNameCommand.cxx"
#include "cmCMakeMinimumRequired.cxx"
#include "cmConfigureFileCommand.cxx"
#include "cmCreateTestSourceList.cxx"
#include "cmElseCommand.cxx"
...
...
@@ -94,6 +95,7 @@ void GetPredefinedCommands(std::list<cmCommand*>& commands)
commands
.
push_back
(
new
cmAuxSourceDirectoryCommand
);
commands
.
push_back
(
new
cmBuildCommand
);
commands
.
push_back
(
new
cmBuildNameCommand
);
commands
.
push_back
(
new
cmCMakeMinimumRequired
);
commands
.
push_back
(
new
cmConfigureFileCommand
);
commands
.
push_back
(
new
cmCreateTestSourceList
);
commands
.
push_back
(
new
cmElseCommand
);
...
...
Source/cmOptionCommand.cxx
View file @
0415b585
...
...
@@ -19,12 +19,33 @@
// cmOptionCommand
bool
cmOptionCommand
::
InitialPass
(
std
::
vector
<
std
::
string
>
const
&
args
)
{
if
(
args
.
size
()
<
2
||
args
.
size
()
>
3
)
bool
argError
=
false
;
if
(
args
.
size
()
<
2
)
{
this
->
SetError
(
"called with incorrect number of arguments"
);
argError
=
true
;
}
// for VTK 4.0 we have to support the option command with more than 3 arguments
// if CMAKE_MINIMUM_REQUIRED_VERSION is not defined, if CMAKE_MINIMUM_REQUIRED_VERSION
// is defined, then we can have stricter checking.
if
(
m_Makefile
->
GetDefinition
(
"CMAKE_MINIMUM_REQUIRED_VERSION"
))
{
if
(
args
.
size
()
>
3
)
{
argError
=
true
;
}
}
if
(
argError
)
{
std
::
string
m
=
"called with incorrect number of arguments: "
;
for
(
int
i
=
0
;
i
<
args
.
size
();
++
i
)
{
m
+=
args
[
i
];
m
+=
" "
;
}
this
->
SetError
(
m
.
c_str
());
return
false
;
}
// Now check and see if the value has been stored in the cache
// already, if so use that value and don't look for the program
const
char
*
cacheValue
...
...
Tests/Complex/CMakeLists.txt
View file @
0415b585
...
...
@@ -3,6 +3,9 @@
#
PROJECT
(
Complex
)
CMAKE_MINIMUM_REQUIRED
(
VERSION 1.3
)
#
# Use the ansi CXX compile flag for building cmake
#
...
...
Tests/Complex/Executable/complex.cxx
View file @
0415b585
...
...
@@ -647,6 +647,14 @@ int main()
#endif
#endif // defined(_WIN32) && !defined(__CYGWIN__)
if
(
strcmp
(
CMAKE_MINIMUM_REQUIRED_VERSION
,
"1.3"
)
==
0
)
{
cmPassed
(
"CMAKE_MINIMUM_REQUIRED_VERSION is set to 1.3"
);
}
else
{
cmFailed
(
"CMAKE_MINIMUM_REQUIRED_VERSION is not set to the expected 1.3"
);
}
// ----------------------------------------------------------------------
// Summary
...
...
Tests/Complex/cmTestConfigure.h.in
View file @
0415b585
...
...
@@ -54,3 +54,4 @@
#if defined(_WIN32) && !defined(__CYGWIN__)
#define REGISTRY_TEST_PATH "${REGISTRY_TEST_PATH}"
#endif
#define CMAKE_MINIMUM_REQUIRED_VERSION "${CMAKE_MINIMUM_REQUIRED_VERSION}"
Tests/ComplexOneConfig/CMakeLists.txt
View file @
0415b585
...
...
@@ -3,6 +3,9 @@
#
PROJECT
(
Complex
)
CMAKE_MINIMUM_REQUIRED
(
VERSION 1.3
)
#
# Use the ansi CXX compile flag for building cmake
#
...
...
Tests/ComplexOneConfig/Executable/complex.cxx
View file @
0415b585
...
...
@@ -647,6 +647,14 @@ int main()
#endif
#endif // defined(_WIN32) && !defined(__CYGWIN__)
if
(
strcmp
(
CMAKE_MINIMUM_REQUIRED_VERSION
,
"1.3"
)
==
0
)
{
cmPassed
(
"CMAKE_MINIMUM_REQUIRED_VERSION is set to 1.3"
);
}
else
{
cmFailed
(
"CMAKE_MINIMUM_REQUIRED_VERSION is not set to the expected 1.3"
);
}
// ----------------------------------------------------------------------
// Summary
...
...
Tests/ComplexOneConfig/cmTestConfigure.h.in
View file @
0415b585
...
...
@@ -54,3 +54,4 @@
#if defined(_WIN32) && !defined(__CYGWIN__)
#define REGISTRY_TEST_PATH "${REGISTRY_TEST_PATH}"
#endif
#define CMAKE_MINIMUM_REQUIRED_VERSION "${CMAKE_MINIMUM_REQUIRED_VERSION}"
Tests/ComplexRelativePaths/CMakeLists.txt
View file @
0415b585
...
...
@@ -3,6 +3,9 @@
#
PROJECT
(
Complex
)
CMAKE_MINIMUM_REQUIRED
(
VERSION 1.3
)
#
# Use the ansi CXX compile flag for building cmake
#
...
...
Tests/ComplexRelativePaths/Executable/complex.cxx
View file @
0415b585
...
...
@@ -647,6 +647,14 @@ int main()
#endif
#endif // defined(_WIN32) && !defined(__CYGWIN__)
if
(
strcmp
(
CMAKE_MINIMUM_REQUIRED_VERSION
,
"1.3"
)
==
0
)
{
cmPassed
(
"CMAKE_MINIMUM_REQUIRED_VERSION is set to 1.3"
);
}
else
{
cmFailed
(
"CMAKE_MINIMUM_REQUIRED_VERSION is not set to the expected 1.3"
);
}
// ----------------------------------------------------------------------
// Summary
...
...
Tests/ComplexRelativePaths/cmTestConfigure.h.in
View file @
0415b585
...
...
@@ -54,3 +54,4 @@
#if defined(_WIN32) && !defined(__CYGWIN__)
#define REGISTRY_TEST_PATH "${REGISTRY_TEST_PATH}"
#endif
#define CMAKE_MINIMUM_REQUIRED_VERSION "${CMAKE_MINIMUM_REQUIRED_VERSION}"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment