summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-06-20 17:56:38 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-06-20 17:56:38 (GMT)
commitadbae91cb5a5cb4cd33df273dd977791406ec339 (patch)
tree6bf114389890b3be2ba49e3c189bb67d5b5f8d6e
parent7715b382fe71932aa36333659b7a2311008d0f06 (diff)
downloadCMake-adbae91cb5a5cb4cd33df273dd977791406ec339.zip
CMake-adbae91cb5a5cb4cd33df273dd977791406ec339.tar.gz
CMake-adbae91cb5a5cb4cd33df273dd977791406ec339.tar.bz2
ENH: fix cmake so it can boot strap itself better
-rw-r--r--Source/CMakeLists.txt41
-rw-r--r--Source/FLTKDialog/CMakeLists.txt12
-rw-r--r--Source/FLTKDialog/CMakeSetupGUIImplementation.cxx2
-rw-r--r--Source/cmConfigure.cmake.h.in5
-rw-r--r--Source/cmSourceFile.cxx7
-rw-r--r--Source/cmStandardIncludes.h3
-rw-r--r--Source/cmake.cxx2
-rw-r--r--Templates/CMakeSystemConfig.cmake.in3
-rwxr-xr-xTemplates/configure20
-rw-r--r--Templates/configure.in6
10 files changed, 63 insertions, 38 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 745d2a8..a38e9af 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -8,26 +8,35 @@ IF(FLTK_LIBRARY)
ENDIF(FLTK_LIBRARY)
SOURCE_FILES(SRCS
-cmake
-cmMakeDepend
-cmMakefile
-cmMakefileGenerator
-cmRegularExpression
-cmSourceFile
-cmSystemTools
-cmDirectory
-cmCommands
-cmTarget
-cmCustomCommand
-cmCacheManager
-cmCableClassSet
-cmSourceGroup
+cmake
+cmMakeDepend.cxx
+cmMakefile.cxx
+cmMakefileGenerator.cxx
+cmRegularExpression.cxx
+cmSourceFile.cxx
+cmSystemTools.cxx
+cmDirectory.cxx
+cmCommands.cxx
+cmTarget.cxx
+cmCustomCommand.cxx
+cmCacheManager.cxx
+cmCableClassSet.cxx
+cmSourceGroup.cxx
)
+# configure the .h file
+CONFIGURE_FILE(
+${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
+${CMake_BINARY_DIR}/Source/cmConfigure.cmake.h )
+# add the include path to find the .h
+INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
+# let cmake know it is supposed to use it
+ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
+
IF (WIN32)
- SOURCE_FILES(SRCS cmDSWWriter cmDSPWriter cmMSProjectGenerator)
+ SOURCE_FILES(SRCS cmDSWWriter.cxx cmDSPWriter.cxx cmMSProjectGenerator.cxx)
ELSE (WIN32)
- SOURCE_FILES(SRCS cmUnixMakefileGenerator)
+ SOURCE_FILES(SRCS cmUnixMakefileGenerator.cxx)
ENDIF (WIN32)
# create a library used by the command line and the GUI
diff --git a/Source/FLTKDialog/CMakeLists.txt b/Source/FLTKDialog/CMakeLists.txt
index d110cd8..1c5e8c9 100644
--- a/Source/FLTKDialog/CMakeLists.txt
+++ b/Source/FLTKDialog/CMakeLists.txt
@@ -1,10 +1,10 @@
SOURCE_FILES(SRCS
-CMakeSetupGUI
-CMakeSetupGUIImplementation
-FLTKDialog
-FLTKPropertyItemRow
-FLTKPropertyList
-FLTKPropertyNameButtonWithHelp
+CMakeSetupGUI.cxx
+CMakeSetupGUIImplementation.cxx
+FLTKDialog.cxx
+FLTKPropertyItemRow.cxx
+FLTKPropertyList.cxx
+FLTKPropertyNameButtonWithHelp.cxx
)
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
index b1eab89..4206e57 100644
--- a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
+++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
@@ -146,7 +146,7 @@ CMakeSetupGUIImplementation
m_PathToExecutable = absolutePath;
#if defined(_WIN32)
- m_PathToExecutable += "/CMake.exe";
+ m_PathToExecutable += "/Debug/CMake.exe";
#else
m_PathToExecutable += "/cmake";
#endif
diff --git a/Source/cmConfigure.cmake.h.in b/Source/cmConfigure.cmake.h.in
new file mode 100644
index 0000000..6d76a5c
--- /dev/null
+++ b/Source/cmConfigure.cmake.h.in
@@ -0,0 +1,5 @@
+#cmakedefine CMAKE_NO_STD_NAMESPACE
+#cmakedefine CMAKE_NO_ANSI_STREAM_HEADERS
+#define CMAKE_ROOT_DIR "${CMake_SOURCE_DIR}"
+
+
diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx
index be4dbcc..0783115 100644
--- a/Source/cmSourceFile.cxx
+++ b/Source/cmSourceFile.cxx
@@ -74,6 +74,13 @@ void cmSourceFile::SetName(const char* name, const char* dir)
std::string hname = pathname;
if(cmSystemTools::FileExists(hname.c_str()))
{
+ std::string::size_type pos = hname.rfind('.');
+ if(pos != std::string::npos)
+ {
+ m_SourceExtension = hname.substr(pos+1, hname.size()-pos);
+ m_SourceName = hname.substr(0, pos);
+ }
+
m_HeaderFileOnly = false;
m_FullPath = hname;
return;
diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h
index 9c84215..a4330bf 100644
--- a/Source/cmStandardIncludes.h
+++ b/Source/cmStandardIncludes.h
@@ -50,6 +50,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef CMAKE_HAS_AUTOCONF
#include "cmConfigure.h"
#endif
+#ifdef CMAKE_BUILD_WITH_CMAKE
+#include "cmConfigure.cmake.h"
+#endif
#ifdef _MSC_VER
#pragma warning ( disable : 4786 )
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index f54e556..7e2a14b 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -164,7 +164,7 @@ void cmake::AddCMakePaths(const std::vector<std::string>& args)
modules = cMakeRoot + "/share/CMake/Modules";
if (!cmSystemTools::FileIsDirectory(modules.c_str()))
{
-#if !defined(_WIN32) || defined(__CYGWIN__)
+#ifdef CMAKE_ROOT_DIR
// try compiled in value on UNIX
cMakeRoot = CMAKE_ROOT_DIR;
modules = cMakeRoot + "/Modules";
diff --git a/Templates/CMakeSystemConfig.cmake.in b/Templates/CMakeSystemConfig.cmake.in
index 27ece9a..dc52239 100644
--- a/Templates/CMakeSystemConfig.cmake.in
+++ b/Templates/CMakeSystemConfig.cmake.in
@@ -46,4 +46,5 @@ SET (CMAKE_SHLIB_RUNTIME_SEP "@CMAKE_SHLIB_RUNTIME_SEP@" CACHE STRING
SET (CMAKE_X_LIBS "@X_PRE_LIBS@ @X_LIBS@ -lX11 -lXext @X_EXTRA_LIBS@" CACHE STRING "Libraries and options used in X11 programs")
SET (CMAKE_X_CFLAGS "@X_CFLAGS@" CACHE STRING "X11 extra flags")
SET (CMAKE_HAS_X "@CMAKE_HAS_X@" )
-
+SET (CMAKE_NO_ANSI_STREAM_HEADERS "@CMAKE_NO_ANSI_STREAM_HEADERS@" )
+SET (CMAKE_NO_STD_NAMESPACE "@CMAKE_NO_STD_NAMESPACE@" )
diff --git a/Templates/configure b/Templates/configure
index ec9abce..50f8686 100755
--- a/Templates/configure
+++ b/Templates/configure
@@ -2944,19 +2944,17 @@ echo "configure:2939: checking ansi standard C++ stream headers " >&5
if test -z "`${CXX} -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
else
- cat >> confdefs.h <<\EOF
-#define CMAKE_NO_STD_NAMESPACE 1
-EOF
-
+ CMAKE_NO_STD_NAMESPACE="1"
echo "$ac_t""no" 1>&6
fi
fi
+
# check to see if stl is in the std namespace
if test $ac_cv_prog_gxx = no; then
echo "******"
echo $ac_n "checking ansi standard namespace support ""... $ac_c" 1>&6
-echo "configure:2960: checking ansi standard namespace support " >&5
+echo "configure:2958: checking ansi standard namespace support " >&5
rm -rf conftest.*
cat > conftest.cc <<!
#include <list>
@@ -2965,15 +2963,13 @@ void foo() { std::list<int> l; }
if test -z "`${CXX} -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
else
- cat >> confdefs.h <<\EOF
-#define CMAKE_NO_ANSI_STREAM_HEADERS 1
-EOF
-
+ CMAKE_NO_ANSI_STREAM_HEADERS="1"
echo "$ac_t""no" 1>&6
fi
fi
+
if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
SHLIB_CFLAGS="-fPIC"
fi
@@ -2984,7 +2980,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2988: checking for $ac_word" >&5
+echo "configure:2984: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_RUNMAKE'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3024,7 +3020,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3028: checking for $ac_word" >&5
+echo "configure:3024: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CMAKE_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3241,6 +3237,8 @@ s%@CMAKE_HP_PTHREADS@%$CMAKE_HP_PTHREADS%g
s%@CMAKE_THREAD_LIBS@%$CMAKE_THREAD_LIBS%g
s%@CMAKE_ANSI_CFLAGS@%$CMAKE_ANSI_CFLAGS%g
s%@CMAKE_TEMPLATE_FLAGS@%$CMAKE_TEMPLATE_FLAGS%g
+s%@CMAKE_NO_STD_NAMESPACE@%$CMAKE_NO_STD_NAMESPACE%g
+s%@CMAKE_NO_ANSI_STREAM_HEADERS@%$CMAKE_NO_ANSI_STREAM_HEADERS%g
s%@RUNMAKE@%$RUNMAKE%g
s%@CMAKE_AR@%$CMAKE_AR%g
diff --git a/Templates/configure.in b/Templates/configure.in
index 21fcb10..a89ce30 100644
--- a/Templates/configure.in
+++ b/Templates/configure.in
@@ -520,10 +520,11 @@ if test $ac_cv_prog_gxx = no; then
if test -z "`${CXX} -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
else
- AC_DEFINE(CMAKE_NO_STD_NAMESPACE)
+ CMAKE_NO_STD_NAMESPACE="1"
echo "$ac_t""no" 1>&6
fi
fi
+AC_SUBST(CMAKE_NO_STD_NAMESPACE)
# check to see if stl is in the std namespace
if test $ac_cv_prog_gxx = no; then
@@ -537,10 +538,11 @@ void foo() { std::list<int> l; }
if test -z "`${CXX} -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
else
- AC_DEFINE(CMAKE_NO_ANSI_STREAM_HEADERS)
+ CMAKE_NO_ANSI_STREAM_HEADERS="1"
echo "$ac_t""no" 1>&6
fi
fi
+AC_SUBST(CMAKE_NO_ANSI_STREAM_HEADERS)
if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then