project(gvSIG-Package) CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0) IF(COMMAND CMAKE_POLICY) cmake_policy(SET CMP0003 NEW) cmake_policy(SET CMP0009 NEW) ENDIF(COMMAND CMAKE_POLICY) IF(UNIX AND NOT WIN32 AND NOT APPLE) IF(CMAKE_SIZEOF_VOID_P MATCHES "8") SET(LIB_POSTFIX "64" CACHE STRING "suffix for 32/64 dir placement") MARK_AS_ADVANCED(LIB_POSTFIX) ENDIF() ENDIF() IF(NOT DEFINED LIB_POSTFIX) SET(LIB_POSTFIX "") ENDIF() SET(MAJOR_VERSION 1) SET(MINOR_VERSION 10) SET(PATCH_VERSION 0) SET(VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}) SET(dep_postfix lib) IF(WIN32) SET(dep_postfix bin) ENDIF(WIN32) IF(NOT DEPS_DIR) FIND_PATH(DEPS_DIR NAMES include/osg PATHS $ENV{DEPS_DIR} ) ENDIF(NOT DEPS_DIR) IF(NOT GVSIG_ANDAMI_DIR) FIND_PATH(GVSIG_ANDAMI_DIR NAMES gvSIG/extensiones PATHS $ENV{GVSIG_ANDAMI_DIR} ) ENDIF(NOT GVSIG_ANDAMI_DIR) IF(APPLE) IF(NOT GVSIG_BUNDLE) FIND_PATH(GVSIG_BUNDLE NAMES Contents/MacOS/JavaApplicationStub PATHS $ENV{GVSIG_BUNDLE} ) ENDIF(NOT GVSIG_BUNDLE) INSTALL(DIRECTORY ${GVSIG_BUNDLE} DESTINATION . PATTERN ".svn" EXCLUDE) SET(BUNDLE_EXECS ${GVSIG_BUNDLE}/Contents/MacOS/preJava ${GVSIG_BUNDLE}/Contents/MacOS/JavaApplicationStub ) INSTALL(PROGRAMS ${BUNDLE_EXECS} DESTINATION gvSIG.app/Contents/MacOS PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) SET(INSTALL_JAVA_DIR gvSIG.app/Contents/Resources/Java) SET(APPS "\${CMAKE_INSTALL_PREFIX}/gvSIG.app") ELSE(APPLE) INSTALL(DIRECTORY ${DEPS_DIR}/${dep_postfix}${LIB_POSTFIX} DESTINATION gvSIG/libs PATTERN ".svn" EXCLUDE) SET(INSTALL_JAVA_DIR gvSIG/bin) ENDIF(APPLE) SET(ANDAMI_FILES ${GVSIG_ANDAMI_DIR}/andami.jar ${GVSIG_ANDAMI_DIR}/castor.properties ${GVSIG_ANDAMI_DIR}/gpl.txt ) INSTALL(FILES ${ANDAMI_FILES} DESTINATION ${INSTALL_JAVA_DIR}) INSTALL(DIRECTORY ${GVSIG_ANDAMI_DIR}/schemas DESTINATION ${INSTALL_JAVA_DIR} PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY ${GVSIG_ANDAMI_DIR}/theme DESTINATION ${INSTALL_JAVA_DIR} PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY ${GVSIG_ANDAMI_DIR}/config DESTINATION ${INSTALL_JAVA_DIR} PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY ${GVSIG_ANDAMI_DIR}/lib/ DESTINATION ${INSTALL_JAVA_DIR} PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY ${GVSIG_ANDAMI_DIR}/gvSIG DESTINATION ${INSTALL_JAVA_DIR} PATTERN ".svn" EXCLUDE) SET(BUNDLE_DEPENDENCY_DIRS ${DEPS_DIR}/${dep_postfix}${LIB_POSTFIX} ) #IF(APPLE) # SET(BUNDLE_DEPENDENCY_DIRS # ${BUNDLE_DEPENDENCY_DIRS} # "/Library/Application Support/GDAL/1.7/PlugIns" # ) #ENDIF(APPLE) #IF(APPLE) # file(GLOB_RECURSE DEP_LIBS # "/Library/Frameworks/GDAL.framework/Versions/1.7/Libraries/*") # INSTALL(FILES ${DEP_LIBS} # DESTINATION gvSIG.app/Contents/MacOS) # SET(BUNDLE_DEPENDENCY_DIRS # ${BUNDLE_DEPENDENCY_DIRS} # /Library/Frameworks/GDAL.framework/Versions/1.7/Libraries # ) #ENDIF(APPLE) SET(DEPENDENCY_LIBS) FOREACH(DEP ${BUNDLE_DEPENDENCY_DIRS}) file(GLOB_RECURSE DEP_LIBS "${DEP}/*") FOREACH(LIB ${DEP_LIBS}) IF(NOT "${LIB}" MATCHES "[.]svn/|[.]pc|[.]exp|[.]exe|[.]lib|[.]idb") SET(DEPENDENCY_LIBS ${DEPENDENCY_LIBS} ${LIB}) ENDIF() ENDFOREACH(LIB) ENDFOREACH(DEP) INSTALL(CODE " include(BundleUtilities) fixup_bundle(\"${APPS}\" \"${DEPENDENCY_LIBS}\" \"${BUNDLE_DEPENDENCY_DIRS}\")" ) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "gvSIG3D") SET(CPACK_PACKAGE_NAME "gvSIG3D") SET(CPACK_PACKAGE_VENDOR "gvSIG3D") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "gvSIG3D ${VERSION}") SET(CPACK_PACKAGE_VERSION ${VERSION}) SET(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION}) SET(CPACK_PACKAGE_VERSION_MINOR ${MINOR_VERSION}) SET(CPACK_PACKAGE_VERSION_PATCH ${PATCH_VERSION}) SET(CPACK_INSTALL_PREFIX "gvSIG3D-${VERSION}") SET(CPACK_GENERATOR "TGZ") INCLUDE(CPack)