Changeset 8351 for code/trunk/cmake/PackageConfig.cmake
- Timestamp:
- Apr 28, 2011, 7:15:14 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/cmake/PackageConfig.cmake
r7459 r8351 25 25 # 26 26 27 # Check package version info28 # MAJOR: Breaking change29 # MINOR: No breaking changes by the dependency package30 # For example any code running on 3.0 should still run on 3.131 # But you can specify that the code only runs on 3.1 and higher32 # or 4.0 and higher (so both 3.1 and 4.0 will work).33 SET(ALLOWED_MINIMUM_VERSIONS 3.1 4.0 5.0)34 35 IF(NOT EXISTS ${DEPENDENCY_PACKAGE_DIR}/version.txt)36 SET(DEPENDENCY_VERSION 1.0)37 ELSE()38 # Get version from file39 FILE(READ ${DEPENDENCY_PACKAGE_DIR}/version.txt _file_content)40 SET(_match)41 STRING(REGEX MATCH "([0-9]+.[0-9]+)" _match ${_file_content})42 IF(_match)43 SET(DEPENDENCY_VERSION ${_match})44 ELSE()45 MESSAGE(FATAL_ERROR "The version.txt file in the dependency file has corrupt version information.")46 ENDIF()47 ENDIF()48 49 INCLUDE(CompareVersionStrings)50 SET(_version_match FALSE)51 FOREACH(_version ${ALLOWED_MINIMUM_VERSIONS})52 # Get major version53 STRING(REGEX REPLACE "^([0-9]+)\\..*$" "\\1" _major_version "${_version}")54 COMPARE_VERSION_STRINGS(${DEPENDENCY_VERSION} ${_major_version} _result TRUE)55 IF(_result EQUAL 0)56 COMPARE_VERSION_STRINGS(${DEPENDENCY_VERSION} ${_version} _result FALSE)57 IF(NOT _result LESS 0)58 SET(_version_match TRUE)59 ENDIF()60 ENDIF()61 ENDFOREACH(_version)62 IF(NOT _version_match)63 MESSAGE(FATAL_ERROR "Your dependency package version is ${DEPENDENCY_VERSION}\n"64 "Possible required versions: ${ALLOWED_MINIMUM_VERSIONS}\n"65 "You can get a new version from www.orxonox.net")66 ENDIF()67 68 27 IF(NOT _INTERNAL_PACKAGE_MESSAGE) 69 28 MESSAGE(STATUS "Using library package for the dependencies.") … … 73 32 # Ogre versions >= 1.7 require the POCO library on Windows with MSVC for threading 74 33 COMPARE_VERSION_STRINGS(${DEPENDENCY_VERSION} 5 _result TRUE) 75 IF(NOT _result EQUAL -1 AND NOT MINGW)76 SET(POCO_REQUIREDTRUE)34 IF(NOT _result EQUAL -1 AND NOT APPLE) 35 SET(OGRE_NEEDS_POCO TRUE) 77 36 ENDIF() 78 37 … … 84 43 SET(ENV{DXSDK_DIR} ${DEP_INCLUDE_DIR}/directx) 85 44 #SET(ENV{ENETDIR} ${DEP_INCLUDE_DIR}/enet) 86 SET(ENV{LUA _DIR}${DEP_INCLUDE_DIR}/lua)45 SET(ENV{LUA5.1_DIR} ${DEP_INCLUDE_DIR}/lua) 87 46 SET(ENV{OGGDIR} ${DEP_INCLUDE_DIR}/libogg) 88 47 SET(ENV{VORBISDIR} ${DEP_INCLUDE_DIR}/libvorbis) … … 116 75 117 76 ## RELEASE 118 # Try to filter out all the debug libraries. If the regex doesn't do the 119 # job anymore, simply adjust it. 120 INSTALL( 121 DIRECTORY ${DEP_BINARY_DIR}/ 122 DESTINATION bin 123 CONFIGURATIONS Release RelWithDebInfo MinSizeRel 124 REGEX "_[Dd]\\.[a-zA-Z0-9+-]+$|-mt-gd-|^.*\\.pdb$" EXCLUDE 125 ) 77 IF(EXISTS ${DEP_BINARY_DIR}/install_manifest.txt) 78 FILE(STRINGS ${DEP_BINARY_DIR}/install_manifest.txt _files) 79 FOREACH(_file ${_files}) 80 INSTALL( 81 FILES ${DEP_BINARY_DIR}/${_file} 82 DESTINATION bin 83 CONFIGURATIONS Release RelWithDebInfo MinSizeRel 84 ) 85 ENDFOREACH(_file) 86 ELSE() 87 # Try to filter out all the debug libraries. If the regex doesn't do the 88 # job anymore, simply adjust it. 89 INSTALL( 90 DIRECTORY ${DEP_BINARY_DIR}/ 91 DESTINATION bin 92 CONFIGURATIONS Release RelWithDebInfo MinSizeRel 93 REGEX "_[Dd]\\.[a-zA-Z0-9+-]+$|-mt-gd-|^.*\\.pdb$" EXCLUDE 94 ) 95 ENDIF() 126 96 ENDIF()
Note: See TracChangeset
for help on using the changeset viewer.