Просмотр исходного кода

Refer to self with CMake_(SOURCE|BINARY)_DIR (#10046)

This is good practice, and is necessary to support building CMake as a
subdirectory of another project.
Brad King 15 лет назад
Родитель
Сommit
df1e00ff82

+ 3 - 3
Source/CMakeLists.txt

@@ -350,7 +350,7 @@ ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
 # CTestLib
 #
 INCLUDE_DIRECTORIES(
-  "${CMAKE_SOURCE_DIR}/Source/CTest"
+  "${CMake_SOURCE_DIR}/Source/CTest"
   ${CMAKE_XMLRPC_INCLUDES}
   ${CMAKE_CURL_INCLUDES}
   )
@@ -493,8 +493,8 @@ IF(BUILD_QtDialog)
   SUBDIRS(QtDialog)
 ENDIF(BUILD_QtDialog)
 
-INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
-INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
+INCLUDE (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
+INCLUDE (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
 
 INSTALL_TARGETS(/bin cmake)
 INSTALL_TARGETS(/bin ctest)

+ 1 - 1
Tests/CMakeInstall.cmake

@@ -33,7 +33,7 @@ if(CMake_TEST_INSTALL)
   add_test(CMake.Install
     ${CMake_TEST_INSTALL_CTest}
     ${CMake_TEST_INSTALL_CONFIG}
-    --build-and-test ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}
+    --build-and-test ${CMake_SOURCE_DIR} ${CMake_BINARY_DIR}
     --build-generator ${CMAKE_GENERATOR} # Not CMAKE_TEST_GENERATOR
     --build-project CMake
     --build-makeprogram ${CMAKE_MAKE_PROGRAM} # Not CMAKE_TEST_MAKEPROGRAM

+ 6 - 6
Tests/CMakeLists.txt

@@ -404,7 +404,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
    #  --test-command t4
    #--test-command "${CMAKE_COMMAND}"
    #"-DCONFIGURATION=\${CTEST_CONFIGURATION_TYPE}"
-   #-P "${CMAKE_BINARY_DIR}/Tests/SimpleExclude/run.cmake"
+   #-P "${CMake_BINARY_DIR}/Tests/SimpleExclude/run.cmake"
    #)
 
 #  ADD_TEST(SameName  ${CMAKE_CTEST_COMMAND}
@@ -1051,7 +1051,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
       --build-target install
 #     --build-target package
       --build-options "-DCMAKE_INSTALL_PREFIX:PATH=${BundleTestInstallDir}"
-       "-DCMake_SOURCE_DIR:PATH=${CMAKE_SOURCE_DIR}"
+       "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
       --test-command
       ${BundleTestInstallDir}/Applications/SecondBundleExe.app/Contents/MacOS/SecondBundleExe)
     LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleTest")
@@ -1589,10 +1589,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
   IF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
     SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
   ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
-  IF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
+  IF(EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
     # If there is CMakeLists.txt in the binary tree, assume in-source build
     SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
-  ENDIF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
+  ENDIF(EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
   SET(bootstrap "")
   IF(CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
     IF(UNIX)
@@ -1764,14 +1764,14 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
 
   # If this is not an in-source build, provide a target to wipe out
   # all the test build directories.
-  IF(NOT EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
+  IF(NOT EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
     CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/test_clean.cmake.in
                    ${CMake_BINARY_DIR}/Tests/test_clean.cmake @ONLY)
     ADD_CUSTOM_TARGET(test_clean
       COMMAND ${CMAKE_COMMAND} -P ${CMake_BINARY_DIR}/Tests/test_clean.cmake
       COMMENT "Removing test build directories."
       )
-  ENDIF(NOT EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
+  ENDIF(NOT EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
 
   ADD_TEST(CMakeWizardTest ${CMAKE_CMAKE_COMMAND}
     -D build_dir:STRING=${CMAKE_CURRENT_BINARY_DIR}/CMakeWizardTest

+ 5 - 5
Utilities/Doxygen/CMakeLists.txt

@@ -27,15 +27,15 @@ IF (BUILD_DOCUMENTATION)
   ENDIF(NOT DOT_PATH)
 
   CONFIGURE_FILE(
-    ${CMAKE_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
-    ${CMAKE_BINARY_DIR}/Utilities/Doxygen/doxyfile)
+    ${CMake_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
+    ${CMake_BINARY_DIR}/Utilities/Doxygen/doxyfile)
 
   CONFIGURE_FILE(
-    ${CMAKE_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.sh.in
-    ${CMAKE_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
+    ${CMake_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.sh.in
+    ${CMake_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
 
   ADD_CUSTOM_TARGET(DoxygenDoc
     ${BASH}
-    ${CMAKE_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
+    ${CMake_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
 
 ENDIF (BUILD_DOCUMENTATION)

+ 2 - 2
Utilities/Doxygen/doc_makeall.sh.in

@@ -48,7 +48,7 @@ export PATH_TO_VTK_DOX_SCRIPTS="@VTK_SOURCE_DIR@/Utilities/Doxygen"
 # Example: 
 #   SOURCE_DIR=@VTK_SOURCE_DIR@
 #
-export SOURCE_DIR="@CMAKE_SOURCE_DIR@"
+export SOURCE_DIR="@CMake_SOURCE_DIR@"
 
 # REL_PATH_TO_TOP:
 # Relative path from the top directory of the source files to the directory
@@ -71,7 +71,7 @@ export REL_PATH_TO_TOP=.
 #   DOXTEMP=DOXTEMP=@VTK_BINARY_DIR@/Utilities/Doxygen
 #   INTERMEDIATE_DOX_DIR=$DOXTEMP/dox
 #
-export DOXTEMP="@CMAKE_BINARY_DIR@/Utilities/Doxygen"
+export DOXTEMP="@CMake_BINARY_DIR@/Utilities/Doxygen"
 export INTERMEDIATE_DOX_DIR="$DOXTEMP/dox"
 
 # DOXYFILE:

+ 10 - 10
Utilities/Doxygen/doxyfile.in

@@ -31,19 +31,19 @@ GRAPHICAL_HIERARCHY  = YES
 
 ALLEXTERNALS         = NO
 
-IMAGE_PATH           = "@CMAKE_BINARY_DIR@/Utilities/Doxygen/contrib"
+IMAGE_PATH           = "@CMake_BINARY_DIR@/Utilities/Doxygen/contrib"
 
-OUTPUT_DIRECTORY     = "@CMAKE_BINARY_DIR@/Utilities/Doxygen/doc"
+OUTPUT_DIRECTORY     = "@CMake_BINARY_DIR@/Utilities/Doxygen/doc"
 
 INPUT                = \
- "@CMAKE_SOURCE_DIR@/Source" \
- "@CMAKE_SOURCE_DIR@/Source/CPack" \
- "@CMAKE_SOURCE_DIR@/Source/CTest" \
- "@CMAKE_SOURCE_DIR@/Source/CursesDialog" \
- "@CMAKE_SOURCE_DIR@/Source/MFCDialog" \
- "@CMAKE_BINARY_DIR@/Source/kwsys" \
- "@CMAKE_BINARY_DIR@/Source/cmsys" \
- "@CMAKE_BINARY_DIR@/Utilities/Doxygen/dox/doc_CMake_contributors.dox" \
+ "@CMake_SOURCE_DIR@/Source" \
+ "@CMake_SOURCE_DIR@/Source/CPack" \
+ "@CMake_SOURCE_DIR@/Source/CTest" \
+ "@CMake_SOURCE_DIR@/Source/CursesDialog" \
+ "@CMake_SOURCE_DIR@/Source/MFCDialog" \
+ "@CMake_BINARY_DIR@/Source/kwsys" \
+ "@CMake_BINARY_DIR@/Source/cmsys" \
+ "@CMake_BINARY_DIR@/Utilities/Doxygen/dox/doc_CMake_contributors.dox" \
 
 EXTRACT_ALL          = YES
 EXTRACT_PRIVATE      = NO

+ 1 - 1
Utilities/KWStyle/CMake.kws.xml.in

@@ -2,7 +2,7 @@
 <Description>
 <LineLength>79</LineLength>
 <!--
-<Header>"@CMAKE_SOURCE_DIR@/Utilities/KWStyle/Headers",false,true</Header>
+<Header>"@CMake_SOURCE_DIR@/Utilities/KWStyle/Headers",false,true</Header>
 <Functions>
 <regex>[A-Z]</regex>
 <length>100</length>

+ 12 - 12
Utilities/KWStyle/CMakeFiles.txt.in

@@ -1,15 +1,15 @@
-"@CMAKE_SOURCE_DIR@/Source/*.txx"
-"@CMAKE_SOURCE_DIR@/Source/*.cxx"
-"@CMAKE_SOURCE_DIR@/Source/*.h*"
-"@CMAKE_SOURCE_DIR@/Source/CPack/*.txx"
-"@CMAKE_SOURCE_DIR@/Source/CPack/*.cxx"
-"@CMAKE_SOURCE_DIR@/Source/CPack/*.h*"
-"@CMAKE_SOURCE_DIR@/Source/CTest/*.txx"
-"@CMAKE_SOURCE_DIR@/Source/CTest/*.cxx"
-"@CMAKE_SOURCE_DIR@/Source/CTest/*.h*"
-"@CMAKE_SOURCE_DIR@/Source/CurseDialog/*.h*"
-"@CMAKE_SOURCE_DIR@/Source/CurseDialog/*.cxx"
-"@CMAKE_SOURCE_DIR@/Source/CurseDialog/*.txx"
+"@CMake_SOURCE_DIR@/Source/*.txx"
+"@CMake_SOURCE_DIR@/Source/*.cxx"
+"@CMake_SOURCE_DIR@/Source/*.h*"
+"@CMake_SOURCE_DIR@/Source/CPack/*.txx"
+"@CMake_SOURCE_DIR@/Source/CPack/*.cxx"
+"@CMake_SOURCE_DIR@/Source/CPack/*.h*"
+"@CMake_SOURCE_DIR@/Source/CTest/*.txx"
+"@CMake_SOURCE_DIR@/Source/CTest/*.cxx"
+"@CMake_SOURCE_DIR@/Source/CTest/*.h*"
+"@CMake_SOURCE_DIR@/Source/CurseDialog/*.h*"
+"@CMake_SOURCE_DIR@/Source/CurseDialog/*.cxx"
+"@CMake_SOURCE_DIR@/Source/CurseDialog/*.txx"
 -f (Lexer\.h)
 -f (Lexer\.cxx)
 -f (Parser\.cxx)

+ 10 - 10
Utilities/KWStyle/CMakeLists.txt

@@ -36,27 +36,27 @@ IF(CMAKE_USE_KWSTYLE)
     SET(KWSTYLE_ARGUMENTS -msvc ${KWSTYLE_ARGUMENTS})
   ENDIF(KWSTYLE_USE_MSVC_FORMAT)
 
-  CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
-               ${CMAKE_BINARY_DIR}/CMake.kws.xml)
-  CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
-               ${CMAKE_BINARY_DIR}/CMakeMoreChecks.kws.xml)
+  CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
+               ${CMake_BINARY_DIR}/CMake.kws.xml)
+  CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
+               ${CMake_BINARY_DIR}/CMakeMoreChecks.kws.xml)
 
-  CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeFiles.txt.in
-                 ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt)
+  CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeFiles.txt.in
+                 ${CMake_BINARY_DIR}/CMakeKWSFiles.txt)
 
   ADD_CUSTOM_COMMAND(
-    OUTPUT ${CMAKE_BINARY_DIR}/KWStyleReport.txt
+    OUTPUT ${CMake_BINARY_DIR}/KWStyleReport.txt
     COMMAND ${KWSTYLE_EXECUTABLE}
-    ARGS    -xml ${CMAKE_BINARY_DIR}/CMake.kws.xml -o ${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt 
+    ARGS    -xml ${CMake_BINARY_DIR}/CMake.kws.xml -o ${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMake_BINARY_DIR}/CMakeKWSFiles.txt
     COMMENT "Coding Style Checker"
     )
 
   ADD_CUSTOM_TARGET(MoreStyleChecks
     COMMAND ${KWSTYLE_EXECUTABLE}
-    -xml ${CMAKE_BINARY_DIR}/CMakeMoreChecks.kws.xml -html ${CMAKE_BINARY_DIR}/html -o ${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt 
+    -xml ${CMake_BINARY_DIR}/CMakeMoreChecks.kws.xml -html ${CMake_BINARY_DIR}/html -o ${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMake_BINARY_DIR}/CMakeKWSFiles.txt
     COMMENT "Coding Style Checker, more checks enabled"
     )
 
-  ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${CMAKE_BINARY_DIR}/KWStyleReport.txt)
+  ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${CMake_BINARY_DIR}/KWStyleReport.txt)
 ENDIF(CMAKE_USE_KWSTYLE)
 

+ 1 - 1
Utilities/KWStyle/CMakeMoreChecks.kws.xml.in

@@ -2,7 +2,7 @@
 <Description>
   <ErrorThreshold>10</ErrorThreshold> 
   <LineLength>79</LineLength>
-  <Header>"@CMAKE_SOURCE_DIR@/Utilities/KWStyle/Headers",false,true</Header>
+  <Header>"@CMake_SOURCE_DIR@/Utilities/KWStyle/Headers",false,true</Header>
   <Functions>
     <regex>^(cm)?[A-Z]</regex>
     <length>200</length>