[cmake-commits] king committed CMakeLists.txt 1.6 1.7

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Dec 28 23:07:28 EST 2007


Update of /cvsroot/CMake/CMake/Tests/ExternalOBJ
In directory public:/mounts/ram/cvs-serv27239/Tests/ExternalOBJ

Modified Files:
	CMakeLists.txt 
Log Message:
BUG: Do not remove the source file extension when computing an object file name.  This addresses bug #6169.  If CMAKE_BACKWARDS_COMPATIBILITY is 2.4 or lower maintain the old behavior so that existing build trees and old project releases are not affected.


Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/ExternalOBJ/CMakeLists.txt,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CMakeLists.txt	18 May 2007 19:11:20 -0000	1.6
+++ CMakeLists.txt	29 Dec 2007 04:07:26 -0000	1.7
@@ -18,37 +18,26 @@
   external
   OUTPUT_VARIABLE OUTPUT
   )
-SET(EXTERNAL_OBJECT_NAME "external_object${CMAKE_CXX_OUTPUT_EXTENSION}")
 IF(EXTERNAL_OBJECT_BUILT)
   MESSAGE(
-    "Building ${EXTERNAL_OBJECT_NAME} succeeded with the following output:\n"
+    "Building external_object.cxx succeeded with the following output:\n"
     "[${OUTPUT}]"
     )
 ELSE(EXTERNAL_OBJECT_BUILT)
   MESSAGE(FATAL_ERROR
-    "Building ${EXTERNAL_OBJECT_NAME} failed with the following output:\n"
+    "Building external_object.cxx failed with the following output:\n"
     "[${OUTPUT}]"
     )
 ENDIF(EXTERNAL_OBJECT_BUILT)
 
 # Find the external object file.
-SET(BASE ${ExternalOBJ_BINARY_DIR}/Object)
-SET(EXTERNAL_OBJECT)
-FOREACH(dir external.dir . ${CMAKE_CONFIGURATION_TYPES})
-  IF(NOT EXTERNAL_OBJECT)
-    IF(EXISTS ${BASE}/${dir}/${EXTERNAL_OBJECT_NAME})
-      SET(EXTERNAL_OBJECT ${BASE}/${dir}/${EXTERNAL_OBJECT_NAME})
-    ENDIF(EXISTS ${BASE}/${dir}/${EXTERNAL_OBJECT_NAME})
-  ENDIF(NOT EXTERNAL_OBJECT)
-ENDFOREACH(dir)
-IF(NOT EXTERNAL_OBJECT)
-  FILE(GLOB_RECURSE EXTERNAL_OBJECT
-    "${ExternalOBJ_BINARY_DIR}/Object/${EXTERNAL_OBJECT_NAME}")
-ENDIF(NOT EXTERNAL_OBJECT)
+SET(DIR ${ExternalOBJ_BINARY_DIR}/Object)
+FILE(GLOB_RECURSE EXTERNAL_OBJECT
+  "${DIR}/external_object*${CMAKE_CXX_OUTPUT_EXTENSION}")
 IF(EXTERNAL_OBJECT)
   MESSAGE("Found \"${EXTERNAL_OBJECT}\".")
 ELSE(EXTERNAL_OBJECT)
-  MESSAGE(FATAL_ERROR "Could not find ${EXTERNAL_OBJECT_NAME}.")
+  MESSAGE(FATAL_ERROR "Could not find external object.")
 ENDIF(EXTERNAL_OBJECT)
 
 # Test creation of external objects by custom commands.



More information about the Cmake-commits mailing list