Revision: 43151 http://brlcad.svn.sourceforge.net/brlcad/?rev=43151&view=rev Author: starseeker Date: 2011-02-09 04:02:06 +0000 (Wed, 09 Feb 2011)
Log Message: ----------- Chop third party macro stuff down to just autoconf - need to sync with the newer one in BRL-CAD, but this has specific improvements to the autoconf routines that will need to be merged back into the main version (BRL-CAD trunk no longer does third party builds with autoconf, but apr and friends look to be very difficult conversion prospects for CMake.) Modified Paths: -------------- geomcore/trunk/src/other/subversion/CMake/ThirdParty.cmake Modified: geomcore/trunk/src/other/subversion/CMake/ThirdParty.cmake =================================================================== --- geomcore/trunk/src/other/subversion/CMake/ThirdParty.cmake 2011-02-09 02:18:43 UTC (rev 43150) +++ geomcore/trunk/src/other/subversion/CMake/ThirdParty.cmake 2011-02-09 04:02:06 UTC (rev 43151) @@ -1,60 +1,3 @@ -#----------------------------------------------------------------------------- -MACRO(THIRD_PARTY_OPTION upper lower) - IF(${CMAKE_PROJECT_NAME}-ENABLE_ALL_LOCAL_LIBS) - OPTION(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} "Build the local ${upper} library." ON) - SET(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} ON CACHE BOOL "Build the local ${upper} library." FORCE) - ELSE(${CMAKE_PROJECT_NAME}-ENABLE_ALL_LOCAL_LIBS) - OPTION(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} "Build the local ${upper} library." OFF) - SET(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} OFF CACHE BOOL "Build the local ${upper} library." FORCE) - ENDIF(${CMAKE_PROJECT_NAME}-ENABLE_ALL_LOCAL_LIBS) - IF(NOT ${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} OR ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) - SET(${upper}_FOUND "${upper}-NOTFOUND" CACHE STRING "${upper}_FOUND" FORCE) - SET(${upper}_LIBRARY "${upper}-NOTFOUND" CACHE STRING "${upper}_LIBRARY" FORCE) - SET(${upper}_INCLUDE_DIR "${upper}-NOTFOUND" CACHE STRING "${upper}_INCLUDE_DIR" FORCE) - IF(EXISTS ${${CMAKE_PROJECT_NAME}_CMAKE_DIR}/Find${upper}.cmake) - INCLUDE(${${CMAKE_PROJECT_NAME}_CMAKE_DIR}/Find${upper}.cmake) - ELSE(EXISTS ${${CMAKE_PROJECT_NAME}_CMAKE_DIR}/Find${upper}.cmake) - INCLUDE(${CMAKE_ROOT}/Modules/Find${upper}.cmake) - ENDIF(EXISTS ${${CMAKE_PROJECT_NAME}_CMAKE_DIR}/Find${upper}.cmake) - IF(NOT ${upper}_FOUND) - IF(NOT ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) - SET(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} ON CACHE BOOL "Build the local ${upper} library." FORCE) - SET(${upper}_LIBRARY "${lower}" CACHE STRING "set by THIRD_PARTY macro" FORCE) - ENDIF(NOT ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) - ELSE(NOT ${upper}_FOUND) - # We have to remove any previously built output from enabled local copies of the - # library in question, or the linker will get confused - a system lib was found and - # system libraries are to be preferred with current options. This is unfortunate in - # that it may introduce extra build work just from trying configure options, but appears - # to be essential to ensuring that the build "just works" each time. - STRING(REGEX REPLACE "lib" "" rootname "${lower}") - FILE(GLOB STALE_FILES "${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${rootname}*${CMAKE_SHARED_LIBRARY_SUFFIX}*") - MESSAGE("STALE_FILES: ${STALE_FILES}") - FOREACH(stale_file ${STALE_FILES}) - EXEC_PROGRAM( - ${CMAKE_COMMAND} ARGS -E remove ${stale_file} - OUTPUT_VARIABLE rm_out - RETURN_VALUE rm_retval - ) - ENDFOREACH(stale_file ${STALE_FILES}) - - ENDIF(NOT ${upper}_FOUND) - ELSE(NOT ${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} OR ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) - SET(${upper}_LIBRARY "${lower}" CACHE STRING "set by THIRD_PARTY macro" FORCE) - ENDIF(NOT ${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} OR ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) - MARK_AS_ADVANCED(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper}) -ENDMACRO(THIRD_PARTY_OPTION) - -#----------------------------------------------------------------------------- -MACRO(THIRD_PARTY_SUBDIR upper lower) - IF(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} AND NOT ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) - ADD_SUBDIRECTORY(${lower}) - SET(${upper}_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${lower} CACHE STRING "set by THIRD_PARTY_SUBDIR macro" FORCE) - ENDIF(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} AND NOT ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) -ENDMACRO(THIRD_PARTY_SUBDIR) - -#----------------------------------------------------------------------------- - include(ExternalProject) MACRO(THIRD_PARTY_CONFIGURE_EXTERNAL_PROJECT upper projname projpath srcpath extraopts) @@ -67,7 +10,7 @@ CONFIGURE_COMMAND mkdir -p ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && - <SOURCE_DIR>/configure --prefix=${${CMAKE_PROJECT_NAME}_PREFIX} --exec-prefix=${${CMAKE_PROJECT_NAME}_PREFIX} --mandir=${${CMAKE_PROJECT_NAME}_INSTALL_MAN_DIR} ${extraopts} + <SOURCE_DIR>/configure --prefix=${CMAKE_INSTALL_PREFIX} --exec-prefix=${CMAKE_INSTALL_PREFIX} --mandir=${${CMAKE_PROJECT_NAME}_INSTALL_MAN_DIR} ${extraopts} BUILD_COMMAND cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && $(MAKE) INSTALL_COMMAND cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && $(MAKE) install ) @@ -86,7 +29,7 @@ <SOURCE_DIR>/configure <SOURCE_DIR>/configure.in && mkdir -p ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && - <SOURCE_DIR>/configure --prefix=${${CMAKE_PROJECT_NAME}_PREFIX} --exec-prefix=${${CMAKE_PROJECT_NAME}_PREFIX} --mandir=${${CMAKE_PROJECT_NAME}_INSTALL_MAN_DIR} ${extraopts} + <SOURCE_DIR>/configure --prefix=${CMAKE_INSTALL_PREFIX} --exec-prefix=${CMAKE_INSTALL_PREFIX} --mandir=${${CMAKE_PROJECT_NAME}_INSTALL_MAN_DIR} ${extraopts} BUILD_COMMAND cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && $(MAKE) INSTALL_COMMAND cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && $(MAKE) install ) @@ -105,7 +48,7 @@ CONFIGURE_COMMAND cd <SOURCE_DIR> && autoreconf -i -f && mkdir -p ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && - <SOURCE_DIR>/configure --prefix=${${CMAKE_PROJECT_NAME}_PREFIX} --exec-prefix=${${CMAKE_PROJECT_NAME}_PREFIX} --mandir=${${CMAKE_PROJECT_NAME}_INSTALL_MAN_DIR} ${extraopts} + <SOURCE_DIR>/configure --prefix=${CMAKE_INSTALL_PREFIX} --exec-prefix=${CMAKE_INSTALL_PREFIX} --mandir=${${CMAKE_PROJECT_NAME}_INSTALL_MAN_DIR} ${extraopts} BUILD_COMMAND cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && $(MAKE) INSTALL_COMMAND cd ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/${projpath}/ && $(MAKE) install ) @@ -113,28 +56,3 @@ ENDIF(${CMAKE_PROJECT_NAME}_BUILD_LOCAL_${upper} AND NOT ${CMAKE_PROJECT_NAME}-ENABLE_SYSTEM_LIBS_ONLY) ENDMACRO(THIRD_PARTY_AUTORECONF_EXTERNAL_PROJECT) - -#----------------------------------------------------------------------------- -MACRO(THIRD_PARTY_WARNING_SUPPRESS upper lang) - IF(NOT ${upper}_WARNINGS_ALLOW) - # MSVC uses /w to suppress warnings. It also complains if another - # warning level is given, so remove it. - IF(MSVC) - SET(${upper}_WARNINGS_BLOCKED 1) - STRING(REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " - CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS}") - SET(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} /w") - ENDIF(MSVC) - - # Borland uses -w- to suppress warnings. - IF(BORLAND) - SET(${upper}_WARNINGS_BLOCKED 1) - SET(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} -w-") - ENDIF(BORLAND) - - # Most compilers use -w to suppress warnings. - IF(NOT ${upper}_WARNINGS_BLOCKED) - SET(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} -w") - ENDIF(NOT ${upper}_WARNINGS_BLOCKED) - ENDIF(NOT ${upper}_WARNINGS_ALLOW) -ENDMACRO(THIRD_PARTY_WARNING_SUPPRESS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ BRL-CAD Source Commits mailing list brlcad-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-commits