Revision: 44598
http://brlcad.svn.sourceforge.net/brlcad/?rev=44598&view=rev
Author: starseeker
Date: 2011-05-10 14:59:12 +0000 (Tue, 10 May 2011)
Log Message:
-----------
Make the logic to prevent CMake from searching in CMAKE_INSTALL_PREFIX more
robust.
Modified Paths:
--------------
brlcad/trunk/CMakeLists.txt
Modified: brlcad/trunk/CMakeLists.txt
===================================================================
--- brlcad/trunk/CMakeLists.txt 2011-05-10 14:56:25 UTC (rev 44597)
+++ brlcad/trunk/CMakeLists.txt 2011-05-10 14:59:12 UTC (rev 44598)
@@ -115,18 +115,37 @@
#
# 2. For more custom paths, the logic below will strip out the value
# of CMAKE_INSTALL_PREFIX to avoid its use in find_package searches
+#
+# (Note: CMAKE_INSTALL_PREFIX must be checked in the case where someone
+# sets it on the command line prior to CMake being run. BRLCAD_PREFIX
+# preserves the CMAKE_INSTALL_PREFIX setting from the previous CMake run.
+# CMAKE_INSTALL_PREFIX does not seem to be immediately set in this context
+# when CMake is re-run unless specified explicitly on the command line.
+# To ensure the previous (and internally set) CMAKE_INSTALL_PREFIX value
+# is available, BRLCAD_PREFIX is used to store the value in the cache.)
-IF(CMAKE_INSTALL_PREFIX AND BRLCAD_PREFIX)
- IF(NOT ${BRLCAD_PREFIX} MATCHES "^/usr$" AND NOT ${BRLCAD_PREFIX}
MATCHES "^/usr/local$")
- LIST(FIND CMAKE_SYSTEM_PREFIX_PATH ${BRLCAD_PREFIX}
BRLCAD_PREFIX_IN_SEARCH)
- IF(BRLCAD_PREFIX_IN_SEARCH)
- LIST(REMOVE_AT CMAKE_SYSTEM_PREFIX_PATH
${BRLCAD_PREFIX_IN_SEARCH})
- SET(CMAKE_SYSTEM_PREFIX_PATH
${CMAKE_SYSTEM_PREFIX_PATH} CACHE STRING "Tweaked to avoid inconsistent search
results")
- ENDIF(BRLCAD_PREFIX_IN_SEARCH)
- ENDIF(NOT ${BRLCAD_PREFIX} MATCHES "^/usr$" AND NOT ${BRLCAD_PREFIX}
MATCHES "^/usr/local$")
-ELSE(CMAKE_INSTALL_PREFIX AND BRLCAD_PREFIX)
+IF(CMAKE_INSTALL_PREFIX OR BRLCAD_PREFIX)
+ IF(BRLCAD_PREFIX)
+ IF(NOT ${BRLCAD_PREFIX} STREQUAL "/usr" AND NOT
${BRLCAD_PREFIX} STREQUAL "/usr/local")
+ LIST(FIND CMAKE_SYSTEM_PREFIX_PATH ${BRLCAD_PREFIX}
BRLCAD_PREFIX_IN_SEARCH)
+ IF(BRLCAD_PREFIX_IN_SEARCH)
+ LIST(REMOVE_AT CMAKE_SYSTEM_PREFIX_PATH
${BRLCAD_PREFIX_IN_SEARCH})
+ SET(CMAKE_SYSTEM_PREFIX_PATH
${CMAKE_SYSTEM_PREFIX_PATH} CACHE STRING "Tweaked to avoid inconsistent search
results")
+ ENDIF(BRLCAD_PREFIX_IN_SEARCH)
+ ENDIF(NOT ${BRLCAD_PREFIX} STREQUAL "/usr" AND NOT
${BRLCAD_PREFIX} STREQUAL "/usr/local")
+ ENDIF(BRLCAD_PREFIX)
+ IF(CMAKE_INSTALL_PREFIX)
+ IF(NOT ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr" AND NOT
${CMAKE_INSTALL_PREFIX} STREQUAL "/usr/local")
+ LIST(FIND CMAKE_SYSTEM_PREFIX_PATH
${CMAKE_INSTALL_PREFIX} CMAKE_INSTALL_PREFIX_IN_SEARCH)
+ IF(CMAKE_INSTALL_PREFIX_IN_SEARCH)
+ LIST(REMOVE_AT CMAKE_SYSTEM_PREFIX_PATH
${CMAKE_INSTALL_PREFIX_IN_SEARCH})
+ SET(CMAKE_SYSTEM_PREFIX_PATH
${CMAKE_SYSTEM_PREFIX_PATH} CACHE STRING "Tweaked to avoid inconsistent search
results")
+ ENDIF(CMAKE_INSTALL_PREFIX_IN_SEARCH)
+ ENDIF(NOT ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr" AND NOT
${CMAKE_INSTALL_PREFIX} STREQUAL "/usr/local")
+ ENDIF(CMAKE_INSTALL_PREFIX)
+ELSE(CMAKE_INSTALL_PREFIX OR BRLCAD_PREFIX)
SET(CMAKE_SYSTEM_PREFIX_PATH ${CMAKE_SYSTEM_PREFIX_PATH} CACHE STRING
"Tweaked to avoid inconsistent search results")
-ENDIF(CMAKE_INSTALL_PREFIX AND BRLCAD_PREFIX)
+ENDIF(CMAKE_INSTALL_PREFIX OR BRLCAD_PREFIX)
MARK_AS_ADVANCED(CMAKE_SYSTEM_PREFIX_PATH)
#---------------------------------------------------------------------
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits