diff --git a/CMake/CPack.QtDCMDescription.txt b/CMake/CPack.QtDCMDescription.txt new file mode 100644 index 0000000..83cbf9d --- /dev/null +++ b/CMake/CPack.QtDCMDescription.txt @@ -0,0 +1,6 @@ +DESCRIPTION +=========== + +Welcome in the installation process of QtDCM. + +Enjoy QtDCM ! diff --git a/CMake/CPack.QtDCMLicense.txt b/CMake/CPack.QtDCMLicense.txt new file mode 100644 index 0000000..26b4be0 --- /dev/null +++ b/CMake/CPack.QtDCMLicense.txt @@ -0,0 +1,516 @@ +LICENSE +======= + +CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL + + + Avertissement + +Ce contrat est une licence de logiciel libre issue d'une concertation +entre ses auteurs afin que le respect de deux grands principes préside à +sa rédaction: + + * d'une part, le respect des principes de diffusion des logiciels + libres: accès au code source, droits étendus conférés aux + utilisateurs, + * d'autre part, la désignation d'un droit applicable, le droit + français, auquel elle est conforme, tant au regard du droit de la + responsabilité civile que du droit de la propriété intellectuelle + et de la protection qu'il offre aux auteurs et titulaires des + droits patrimoniaux sur un logiciel. + +Les auteurs de la licence CeCILL (pour Ce[a] C[nrs] I[nria] L[ogiciel] +L[ibre]) sont: + +Commissariat à l'Energie Atomique - CEA, établissement public de +recherche à caractère scientifique, technique et industriel, dont le +siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris. + +Centre National de la Recherche Scientifique - CNRS, établissement +public à caractère scientifique et technologique, dont le siège est +situé 3 rue Michel-Ange, 75794 Paris cedex 16. + +Institut National de Recherche en Informatique et en Automatique - +INRIA, établissement public à caractère scientifique et technologique, +dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153 +Le Chesnay cedex. + + + Préambule + +Ce contrat est une licence de logiciel libre dont l'objectif est de +conférer aux utilisateurs la liberté de modification et de +redistribution du logiciel régi par cette licence dans le cadre d'un +modèle de diffusion en logiciel libre. + +L'exercice de ces libertés est assorti de certains devoirs à la charge +des utilisateurs afin de préserver ce statut au cours des +redistributions ultérieures. + +L'accessibilité au code source et les droits de copie, de modification +et de redistribution qui en découlent ont pour contrepartie de n'offrir +aux utilisateurs qu'une garantie limitée et de ne faire peser sur +l'auteur du logiciel, le titulaire des droits patrimoniaux et les +concédants successifs qu'une responsabilité restreinte. + +A cet égard l'attention de l'utilisateur est attirée sur les risques +associés au chargement, à l'utilisation, à la modification et/ou au +développement et à la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe à +manipuler et qui le réserve donc à des développeurs ou des +professionnels avertis possédant des connaissances informatiques +approfondies. Les utilisateurs sont donc invités à charger et tester +l'adéquation du logiciel à leurs besoins dans des conditions permettant +d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus +généralement, à l'utiliser et l'exploiter dans les mêmes conditions de +sécurité. Ce contrat peut être reproduit et diffusé librement, sous +réserve de le conserver en l'état, sans ajout ni suppression de clauses. + +Ce contrat est susceptible de s'appliquer à tout logiciel dont le +titulaire des droits patrimoniaux décide de soumettre l'exploitation aux +dispositions qu'il contient. + + + Article 1 - DEFINITIONS + +Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une +lettre capitale, auront la signification suivante: + +Contrat: désigne le présent contrat de licence, ses éventuelles versions +postérieures et annexes. + +Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code +Source et le cas échéant sa documentation, dans leur état au moment de +l'acceptation du Contrat par le Licencié. + +Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et +éventuellement de Code Objet et le cas échéant sa documentation, dans +leur état au moment de leur première diffusion sous les termes du Contrat. + +Logiciel Modifié: désigne le Logiciel modifié par au moins une +Contribution. + +Code Source: désigne l'ensemble des instructions et des lignes de +programme du Logiciel et auquel l'accès est nécessaire en vue de +modifier le Logiciel. + +Code Objet: désigne les fichiers binaires issus de la compilation du +Code Source. + +Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur +sur le Logiciel Initial. + +Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le +Contrat. + +Contributeur: désigne le Licencié auteur d'au moins une Contribution. + +Concédant: désigne le Titulaire ou toute personne physique ou morale +distribuant le Logiciel sous le Contrat. + +Contribution: désigne l'ensemble des modifications, corrections, +traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans +le Logiciel par tout Contributeur, ainsi que tout Module Interne. + +Module: désigne un ensemble de fichiers sources y compris leur +documentation qui permet de réaliser des fonctionnalités ou services +supplémentaires à ceux fournis par le Logiciel. + +Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce +Module et le Logiciel s'exécutent dans des espaces d'adressage +différents, l'un appelant l'autre au moment de leur exécution. + +Module Interne: désigne tout Module lié au Logiciel de telle sorte +qu'ils s'exécutent dans le même espace d'adressage. + +GNU GPL: désigne la GNU General Public License dans sa version 2 ou +toute version ultérieure, telle que publiée par Free Software Foundation +Inc. + +Parties: désigne collectivement le Licencié et le Concédant. + +Ces termes s'entendent au singulier comme au pluriel. + + + Article 2 - OBJET + +Le Contrat a pour objet la concession par le Concédant au Licencié d'une +licence non exclusive, cessible et mondiale du Logiciel telle que +définie ci-après à l'article 5 pour toute la durée de protection des droits +portant sur ce Logiciel. + + + Article 3 - ACCEPTATION + +3.1 L'acceptation par le Licencié des termes du Contrat est réputée +acquise du fait du premier des faits suivants: + + * (i) le chargement du Logiciel par tout moyen notamment par + téléchargement à partir d'un serveur distant ou par chargement à + partir d'un support physique; + * (ii) le premier exercice par le Licencié de l'un quelconque des + droits concédés par le Contrat. + +3.2 Un exemplaire du Contrat, contenant notamment un avertissement +relatif aux spécificités du Logiciel, à la restriction de garantie et à +la limitation à un usage par des utilisateurs expérimentés a été mis à +disposition du Licencié préalablement à son acceptation telle que +définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris +connaissance. + + + Article 4 - ENTREE EN VIGUEUR ET DUREE + + + 4.1 ENTREE EN VIGUEUR + +Le Contrat entre en vigueur à la date de son acceptation par le Licencié +telle que définie en 3.1. + + + 4.2 DUREE + +Le Contrat produira ses effets pendant toute la durée légale de +protection des droits patrimoniaux portant sur le Logiciel. + + + Article 5 - ETENDUE DES DROITS CONCEDES + +Le Concédant concède au Licencié, qui accepte, les droits suivants sur +le Logiciel pour toutes destinations et pour la durée du Contrat dans +les conditions ci-après détaillées. + +Par ailleurs, si le Concédant détient ou venait à détenir un ou +plusieurs brevets d'invention protégeant tout ou partie des +fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas +opposer les éventuels droits conférés par ces brevets aux Licenciés +successifs qui utiliseraient, exploiteraient ou modifieraient le +Logiciel. En cas de cession de ces brevets, le Concédant s'engage à +faire reprendre les obligations du présent alinéa aux cessionnaires. + + + 5.1 DROIT D'UTILISATION + +Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant +aux domaines d'application, étant ci-après précisé que cela comporte: + + 1. la reproduction permanente ou provisoire du Logiciel en tout ou + partie par tout moyen et sous toute forme. + + 2. le chargement, l'affichage, l'exécution, ou le stockage du + Logiciel sur tout support. + + 3. la possibilité d'en observer, d'en étudier, ou d'en tester le + fonctionnement afin de déterminer les idées et principes qui sont + à la base de n'importe quel élément de ce Logiciel; et ceci, + lorsque le Licencié effectue toute opération de chargement, + d'affichage, d'exécution, de transmission ou de stockage du + Logiciel qu'il est en droit d'effectuer en vertu du Contrat. + + + 5.2 DROIT D'APPORTER DES CONTRIBUTIONS + +Le droit d'apporter des Contributions comporte le droit de traduire, +d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel +et le droit de reproduire le logiciel en résultant. + +Le Licencié est autorisé à apporter toute Contribution au Logiciel sous +réserve de mentionner, de façon explicite, son nom en tant qu'auteur de +cette Contribution et la date de création de celle-ci. + + + 5.3 DROIT DE DISTRIBUTION + +Le droit de distribution comporte notamment le droit de diffuser, de +transmettre et de communiquer le Logiciel au public sur tout support et +par tout moyen ainsi que le droit de mettre sur le marché à titre +onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé. + +Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou +non, à des tiers dans les conditions ci-après détaillées. + + + 5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION + +Le Licencié est autorisé à distribuer des copies conformes du Logiciel, +sous forme de Code Source ou de Code Objet, à condition que cette +distribution respecte les dispositions du Contrat dans leur totalité et +soit accompagnée: + + 1. d'un exemplaire du Contrat, + + 2. d'un avertissement relatif à la restriction de garantie et de + responsabilité du Concédant telle que prévue aux articles 8 + et 9, + +et que, dans le cas où seul le Code Objet du Logiciel est redistribué, +le Licencié permette aux futurs Licenciés d'accéder facilement au Code +Source complet du Logiciel en indiquant les modalités d'accès, étant +entendu que le coût additionnel d'acquisition du Code Source ne devra +pas excéder le simple coût de transfert des données. + + + 5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE + +Lorsque le Licencié apporte une Contribution au Logiciel, les conditions +de distribution du Logiciel Modifié en résultant sont alors soumises à +l'intégralité des dispositions du Contrat. + +Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de +code source ou de code objet, à condition que cette distribution +respecte les dispositions du Contrat dans leur totalité et soit +accompagnée: + + 1. d'un exemplaire du Contrat, + + 2. d'un avertissement relatif à la restriction de garantie et de + responsabilité du Concédant telle que prévue aux articles 8 + et 9, + +et que, dans le cas où seul le code objet du Logiciel Modifié est +redistribué, le Licencié permette aux futurs Licenciés d'accéder +facilement au code source complet du Logiciel Modifié en indiquant les +modalités d'accès, étant entendu que le coût additionnel d'acquisition +du code source ne devra pas excéder le simple coût de transfert des données. + + + 5.3.3 DISTRIBUTION DES MODULES EXTERNES + +Lorsque le Licencié a développé un Module Externe les conditions du +Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué +sous un contrat de licence différent. + + + 5.3.4 COMPATIBILITE AVEC LA LICENCE GNU GPL + +Le Licencié peut inclure un code soumis aux dispositions d'une des +versions de la licence GNU GPL dans le Logiciel modifié ou non et +distribuer l'ensemble sous les conditions de la même version de la +licence GNU GPL. + +Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis +aux dispositions d'une des versions de la licence GNU GPL et distribuer +l'ensemble sous les conditions de la même version de la licence GNU GPL. + + + Article 6 - PROPRIETE INTELLECTUELLE + + + 6.1 SUR LE LOGICIEL INITIAL + +Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel +Initial. Toute utilisation du Logiciel Initial est soumise au respect +des conditions dans lesquelles le Titulaire a choisi de diffuser son +oeuvre et nul autre n'a la faculté de modifier les conditions de +diffusion de ce Logiciel Initial. + +Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi +par le Contrat et ce, pour la durée visée à l'article 4.2. + + + 6.2 SUR LES CONTRIBUTIONS + +Le Licencié qui a développé une Contribution est titulaire sur celle-ci +des droits de propriété intellectuelle dans les conditions définies par +la législation applicable. + + + 6.3 SUR LES MODULES EXTERNES + +Le Licencié qui a développé un Module Externe est titulaire sur celui-ci +des droits de propriété intellectuelle dans les conditions définies par +la législation applicable et reste libre du choix du contrat régissant +sa diffusion. + + + 6.4 DISPOSITIONS COMMUNES + +Le Licencié s'engage expressément: + + 1. à ne pas supprimer ou modifier de quelque manière que ce soit les + mentions de propriété intellectuelle apposées sur le Logiciel; + + 2. à reproduire à l'identique lesdites mentions de propriété + intellectuelle sur les copies du Logiciel modifié ou non. + +Le Licencié s'engage à ne pas porter atteinte, directement ou +indirectement, aux droits de propriété intellectuelle du Titulaire et/ou +des Contributeurs sur le Logiciel et à prendre, le cas échéant, à +l'égard de son personnel toutes les mesures nécessaires pour assurer le +respect des dits droits de propriété intellectuelle du Titulaire et/ou +des Contributeurs. + + + Article 7 - SERVICES ASSOCIES + +7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de +prestations d'assistance technique ou de maintenance du Logiciel. + +Cependant le Concédant reste libre de proposer ce type de services. Les +termes et conditions d'une telle assistance technique et/ou d'une telle +maintenance seront alors déterminés dans un acte séparé. Ces actes de +maintenance et/ou assistance technique n'engageront que la seule +responsabilité du Concédant qui les propose. + +7.2 De même, tout Concédant est libre de proposer, sous sa seule +responsabilité, à ses licenciés une garantie, qui n'engagera que lui, +lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce, +dans les conditions qu'il souhaite. Cette garantie et les modalités +financières de son application feront l'objet d'un acte séparé entre le +Concédant et le Licencié. + + + Article 8 - RESPONSABILITE + +8.1 Sous réserve des dispositions de l'article 8.2, le Licencié a la +faculté, sous réserve de prouver la faute du Concédant concerné, de +solliciter la réparation du préjudice direct qu'il subirait du fait du +Logiciel et dont il apportera la preuve. + +8.2 La responsabilité du Concédant est limitée aux engagements pris en +application du Contrat et ne saurait être engagée en raison notamment: +(i) des dommages dus à l'inexécution, totale ou partielle, de ses +obligations par le Licencié, (ii) des dommages directs ou indirects +découlant de l'utilisation ou des performances du Logiciel subis par le +Licencié et (iii) plus généralement d'un quelconque dommage indirect. En +particulier, les Parties conviennent expressément que tout préjudice +financier ou commercial (par exemple perte de données, perte de +bénéfices, perte d'exploitation, perte de clientèle ou de commandes, +manque à gagner, trouble commercial quelconque) ou toute action dirigée +contre le Licencié par un tiers, constitue un dommage indirect et +n'ouvre pas droit à réparation par le Concédant. + + + Article 9 - GARANTIE + +9.1 Le Licencié reconnaît que l'état actuel des connaissances +scientifiques et techniques au moment de la mise en circulation du +Logiciel ne permet pas d'en tester et d'en vérifier toutes les +utilisations ni de détecter l'existence d'éventuels défauts. L'attention +du Licencié a été attirée sur ce point sur les risques associés au +chargement, à l'utilisation, la modification et/ou au développement et à +la reproduction du Logiciel qui sont réservés à des utilisateurs avertis. + +Il relève de la responsabilité du Licencié de contrôler, par tous +moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et +de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens. + +9.2 Le Concédant déclare de bonne foi être en droit de concéder +l'ensemble des droits attachés au Logiciel (comprenant notamment les +droits visés à l'article 5). + +9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le +Concédant sans autre garantie, expresse ou tacite, que celle prévue à +l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale, +son caractère sécurisé, innovant ou pertinent. + +En particulier, le Concédant ne garantit pas que le Logiciel est exempt +d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible +avec l'équipement du Licencié et sa configuration logicielle ni qu'il +remplira les besoins du Licencié. + +9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le +Logiciel ne porte pas atteinte à un quelconque droit de propriété +intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout +autre droit de propriété. Ainsi, le Concédant exclut toute garantie au +profit du Licencié contre les actions en contrefaçon qui pourraient être +diligentées au titre de l'utilisation, de la modification, et de la +redistribution du Logiciel. Néanmoins, si de telles actions sont +exercées contre le Licencié, le Concédant lui apportera son aide +technique et juridique pour sa défense. Cette aide technique et +juridique est déterminée au cas par cas entre le Concédant concerné et +le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage +toute responsabilité quant à l'utilisation de la dénomination du +Logiciel par le Licencié. Aucune garantie n'est apportée quant à +l'existence de droits antérieurs sur le nom du Logiciel et sur +l'existence d'une marque. + + + Article 10 - RESILIATION + +10.1 En cas de manquement par le Licencié aux obligations mises à sa +charge par le Contrat, le Concédant pourra résilier de plein droit le +Contrat trente (30) jours après notification adressée au Licencié et +restée sans effet. + +10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à +utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les +licences qu'il aura concédées antérieurement à la résiliation du Contrat +resteront valides sous réserve qu'elles aient été effectuées en +conformité avec le Contrat. + + + Article 11 - DISPOSITIONS DIVERSES + + + 11.1 CAUSE EXTERIEURE + +Aucune des Parties ne sera responsable d'un retard ou d'une défaillance +d'exécution du Contrat qui serait dû à un cas de force majeure, un cas +fortuit ou une cause extérieure, telle que, notamment, le mauvais +fonctionnement ou les interruptions du réseau électrique ou de +télécommunication, la paralysie du réseau liée à une attaque +informatique, l'intervention des autorités gouvernementales, les +catastrophes naturelles, les dégâts des eaux, les tremblements de terre, +le feu, les explosions, les grèves et les conflits sociaux, l'état de +guerre... + +11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou +plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du +Contrat, ne pourra en aucun cas impliquer renonciation par la Partie +intéressée à s'en prévaloir ultérieurement. + +11.3 Le Contrat annule et remplace toute convention antérieure, écrite +ou orale, entre les Parties sur le même objet et constitue l'accord +entier entre les Parties sur cet objet. Aucune addition ou modification +aux termes du Contrat n'aura d'effet à l'égard des Parties à moins +d'être faite par écrit et signée par leurs représentants dûment habilités. + +11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat +s'avèrerait contraire à une loi ou à un texte applicable, existants ou +futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les +amendements nécessaires pour se conformer à cette loi ou à ce texte. +Toutes les autres dispositions resteront en vigueur. De même, la +nullité, pour quelque raison que ce soit, d'une des dispositions du +Contrat ne saurait entraîner la nullité de l'ensemble du Contrat. + + + 11.5 LANGUE + +Le Contrat est rédigé en langue française et en langue anglaise, ces +deux versions faisant également foi. + + + Article 12 - NOUVELLES VERSIONS DU CONTRAT + +12.1 Toute personne est autorisée à copier et distribuer des copies de +ce Contrat. + +12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé +et ne peut être modifié que par les auteurs de la licence, lesquels se +réservent le droit de publier périodiquement des mises à jour ou de +nouvelles versions du Contrat, qui posséderont chacune un numéro +distinct. Ces versions ultérieures seront susceptibles de prendre en +compte de nouvelles problématiques rencontrées par les logiciels libres. + +12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra +faire l'objet d'une diffusion ultérieure que sous la même version du +Contrat ou une version postérieure, sous réserve des dispositions de +l'article 5.3.4. + + + Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE + +13.1 Le Contrat est régi par la loi française. Les Parties conviennent +de tenter de régler à l'amiable les différends ou litiges qui +viendraient à se produire par suite ou à l'occasion du Contrat. + +13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter +de leur survenance et sauf situation relevant d'une procédure d'urgence, +les différends ou litiges seront portés par la Partie la plus diligente +devant les Tribunaux compétents de Paris. + + +Version 2.0 du 2006-09-05. + + diff --git a/CMake/CPack.QtDCMWelcome.txt b/CMake/CPack.QtDCMWelcome.txt new file mode 100644 index 0000000..5330087 --- /dev/null +++ b/CMake/CPack.QtDCMWelcome.txt @@ -0,0 +1 @@ +Welcome to installation. This program will guide you through the installation of this software. diff --git a/CMake/CPack.QtM3dDescription.txt b/CMake/CPack.QtM3dDescription.txt new file mode 100644 index 0000000..83cbf9d --- /dev/null +++ b/CMake/CPack.QtM3dDescription.txt @@ -0,0 +1,6 @@ +DESCRIPTION +=========== + +Welcome in the installation process of QtDCM. + +Enjoy QtDCM ! diff --git a/CMake/CPackConfig.cmake b/CMake/CPackConfig.cmake new file mode 100644 index 0000000..4f1e1bf --- /dev/null +++ b/CMake/CPackConfig.cmake @@ -0,0 +1,51 @@ +#CPack config file +if(BUILD_PACKAGE) + message(STATUS "Configuring CPack") + if(WIN32) + option(BUILD_PACKAGE_BINARY "Build runtime package" ON) + option(BUILD_PACKAGE_SDK "Build development package" OFF) + mark_as_advanced(BUILD_PACKAGE BUILD_PACKAGE_BINARY BUILD_PACKAGE_SDK) + else(WIN32) + if (APPLE) + option(BUILD_PACKAGE_BINARY "Package binary distribution of QtDCM" ON) + option(BUILD_PACKAGE_SDK "Package development distribution of QtDCM" OFF) + mark_as_advanced(BUILD_PACKAGE BUILD_PACKAGE_BINARY BUILD_PACKAGE_SDK) + else (APPLE) # For Linux + option(BUILD_PACKAGE_DEBIAN "Build debian package" ON) + option(BUILD_PACKAGE_RPM "Build rpm package" ON) + option(BUILD_PACKAGE_BINARY "Package binary distribution of QtDCM" ON) + option(BUILD_PACKAGE_DEV "Package development distribution of QtDCM" OFF) + mark_as_advanced(BUILD_PACKAGE BUILD_PACKAGE_DEBIAN BUILD_PACKAGE_RPM BUILD_PACKAGE_BINARY BUILD_PACKAGE_DEV) + endif (APPLE) + endif(WIN32) + + set(BUILD_TESTING OFF) + set(CPACK_GENERATOR "") + set(CPACK_PACKAGE_NAME "qtdcm") + set(CPACK_PACKAGE_VERSION "${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}.${QTDCM_VERSION_PATCH}") + set(CPACK_SOURCE_GENERATOR "TBZ2;ZIP") + set(CPACK_PACKAGE_CONTACT "alexandre.abadie@irisa.fr") + set(CPACK_PACKAGE_DESCRIPTION_FILE "${QTDCM_SOURCE_DIR}/CMake/CPack.QtDCMLicense.txt") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "QtDCM provide Qt widgets for reading DICOM CD and communicating with DICOM PACS") + set(CPACK_RESOURCE_FILE_LICENSE "${QTDCM_SOURCE_DIR}/CMake/CPack.QtDCMLicense.txt") + set(CPACK_RESOURCE_FILE_README "${QTDCM_SOURCE_DIR}/CMake/CPack.QtDCMDescription.txt") + set(CPACK_RESOURCE_FILE_WELCOME "${QTDCM_SOURCE_DIR}/CMake/CPack.QtDCMWelcome.txt") + set(CPACK_PACKAGE_FILE_NAME "qtm3d-${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}.${QTDCM_VERSION_PATCH}") + set(CPACK_SOURCE_PACKAGE_FILE_NAME "qtm3d-${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}.${QTDCM_VERSION_PATCH}-src") + if(NOT WIN32) + set(CMAKE_INSTALL_PREFIX "/usr") + if(BUILD_PACKAGE_DEBIAN) + include(${QTDCM_SOURCE_DIR}/CMake/CPackDebConfig.cmake) + endif(BUILD_PACKAGE_DEBIAN) + if(BUILD_PACKAGE_RPM) + include(${QTDCM_SOURCE_DIR}/CMake/CPackRpmConfig.cmake) + endif(BUILD_PACKAGE_RPM) + else(NOT WIN32) + if (APPLE) + set(CPACK_GENERATOR PACKAGEMAKER) + else (APPLE) + include(${QTDCM_SOURCE_DIR}/CMake/CPackNsisConfig.cmake) + endif (APPLE) + endif(NOT WIN32) + include(CPack) +endif(BUILD_PACKAGE) diff --git a/CMake/CPackDebConfig.cmake b/CMake/CPackDebConfig.cmake new file mode 100644 index 0000000..ef7b96d --- /dev/null +++ b/CMake/CPackDebConfig.cmake @@ -0,0 +1,15 @@ +set(BUILD_SHARED_LIBS CACHE FORCE "Build QtDCM with shared libraries." ON) +set(CPACK_GENERATOR ${CPACK_GENERATOR};DEB) +set(CPACK_DEB "ON") +if (BUILD_PACKAGE_BINARY) + option(BUILD_PACKAGE_DEV "Package development distribution of QtDCM" OFF) + set(CPACK_PACKAGE_NAME "qtdcm") + set(CPACK_DEB_PACKAGE_DESCRIPTION "") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt4-gui (>=4.3)") +else (BUILD_PACKAGE_BINARY) + option(BUILD_PACKAGE_BINARY "Package binary distribution of QtDCM" OFF) + set(CPACK_PACKAGE_NAME "qtdcm-dev") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "QtDCM provides widgets for DICOM support, This package is for development use") + set(CPACK_PACKAGE_FILE_NAME "qtdcm-dev-${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}.${QTDCM_VERSION_PATCH}") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "qtdcm (>=0.1), cmake (>=2.6)") +endif(BUILD_PACKAGE_BINARY) diff --git a/CMake/CPackNsisConfig.cmake b/CMake/CPackNsisConfig.cmake new file mode 100644 index 0000000..fd18e8f --- /dev/null +++ b/CMake/CPackNsisConfig.cmake @@ -0,0 +1,11 @@ +set(CPACK_GENERATOR NSIS) +set(CPACK_NSIS_CONTACT "alexandre.abadie@irisa.fr") +set(CPACK_NSIS_URL_INFO_ABOUT "http://qtdcm.gforge.inria.fr") +set(CPACK_NSIS_MODIFY_PATH "ON") +# set(CPACK_PACKAGE_ICON ${VISTAL_SOURCE_DIR}/vistalLogo.bmp) +if (BUILD_PACKAGE_BINARY) + set(CPACK_PACKAGE_FILE_NAME "qtdcm-runtime-${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}.${QTDCM_VERSION_PATCH}") +endif (BUILD_PACKAGE_BINARY) +if (BUILD_PACKAGE_SDK) + set(CPACK_PACKAGE_FILE_NAME "qtdcm-sdk-${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}.${QTDCM_VERSION_PATCH}") +endif (BUILD_PACKAGE_SDK) diff --git a/CMake/CPackRpmConfig.cmake b/CMake/CPackRpmConfig.cmake new file mode 100644 index 0000000..d8d09e3 --- /dev/null +++ b/CMake/CPackRpmConfig.cmake @@ -0,0 +1,15 @@ +set(BUILD_SHARED_LIBS CACHE FORCE "Build QtDCM with shared libraries." OFF) +set(CPACK_GENERATOR ${CPACK_GENERATOR};RPM) +set(CPACK_RPM ON) +if (BUILD_PACKAGE_BINARY) + option(BUILD_PACKAGE_DEV "Package development distribution of QtDCM" OFF) + set(CPACK_PACKAGE_NAME "qtdcm-dev") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "QtDCM") + set(CPACK_RPM_PACKAGE_DESCRIPTION "QtDCM") +else (BUILD_PACKAGE_BINARY) + option(BUILD_PACKAGE_BINARY "Package binary distribution of QtDCM" OFF) + set(CPACK_PACKAGE_NAME "qtdcm-dev") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "QtDCM") + set(CPACK_RPM_PACKAGE_DESCRIPTION "QtDCM") + set(CPACK_PACKAGE_FILE_NAME "qtdcm-dev-${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}.${QTDCM_VERSION_PATCH}") +endif(BUILD_PACKAGE_BINARY) diff --git a/CMake/FindVistal.cmake b/CMake/FindVistal.cmake new file mode 100644 index 0000000..2282585 --- /dev/null +++ b/CMake/FindVistal.cmake @@ -0,0 +1,44 @@ +# - Find an Vistal installation or build tree. + +# When Vistal is found, the VistalConfig.cmake file is sourced to setup the +# location and configuration of Vistal. Please read this file, or +# VistalConfig.cmake.in from the Vistal source tree for the full list of +# definitions. Of particular interest is Vistal_USE_FILE, a CMake source file +# that can be included to set the include directories, library directories, +# and preprocessor macros. In addition to the variables read from +# VistalConfig.cmake, this find module also defines +# VISTAL_DIR - The directory containing VistalConfig.cmake. +# This is either the root of the build tree +# +# VISTAL_FOUND - Whether Vistal was found. If this is true, +# VISTAL_DIR is okay. +# +# USE_VISTAL_FILE - The full path to the UseVistal.cmake file. +# This is provided for backward +# compatability. Use VISTAL_USE_FILE +# instead. + +FIND_PATH(VISTAL_DIR VistalConfig.cmake + /usr/local/vistal + DOC "Vistal directory" +) + +SET(VISTAL_CONFIG_FILE ${VISTAL_DIR}/VistalConfig.cmake) +# path is okay +IF (EXISTS ${VISTAL_CONFIG_FILE}) + + SET(VISTAL_FOUND 1) + INCLUDE (${VISTAL_CONFIG_FILE}) + + IF (EXISTS ${VISTAL_USE_FILE}) + INCLUDE (${VISTAL_USE_FILE}) + ENDIF (EXISTS ${VISTAL_USE_FILE}) + +ELSE (EXISTS ${VISTAL_CONFIG_FILE}) + + SET(VISTAL_FOUND 0) + IF(VISTAL_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Please set VISTAL_DIR to the correct value") + ENDIF(VISTAL_FIND_REQUIRED) + +ENDIF (EXISTS ${VISTAL_CONFIG_FILE}) diff --git a/CMake/QtDCMConfig.cmake.in b/CMake/QtDCMConfig.cmake.in new file mode 100644 index 0000000..592c438 --- /dev/null +++ b/CMake/QtDCMConfig.cmake.in @@ -0,0 +1,45 @@ +## This file saves all the configuration of QTDCM compilation +# This file is to be included from outside projects which uses QtM3d + +#path to the source of QTDCM +SET(QTDCM_SOURCE_DIR "@QTDCM_SOURCE_DIR@/Code") + +#path to cmake files of Vistal +SET(QTDCM_CMAKE_DIR "@QTDCM_CMAKE_DIR@") + +#path to binary dir of QTDCM +SET(QTDCM_BINARY_DIR "@QTDCM_BIN_DIR@") + +# all include dirs pour QTDCM +SET(QTDCM_INCLUDE_DIRS "@QTDCM_INCLUDE_DIRS@") + +# all library dirs pour QTDCM +SET(QTDCM_LIBRARY_DIRS "@QTDCM_LIBRARY_DIRS@") + +# The C and C++ flags added by Vistal to the cmake-configured flags. +#SET(QTDCM_REQUIRED_C_FLAGS "@QTDCM_REQUIRED_C_FLAGS@") +#SET(QTDCM_REQUIRED_CXX_FLAGS "@QTDCM_REQUIRED_CXX_FLAGS@") +#SET(QTDCM_REQUIRED_LINK_FLAGS "@QTDCM_REQUIRED_LINK_FLAGS@") +SET(QTDCM_CMAKE_MODULE_PATH "@QTDCM_CMAKE_MODULE_PATH@") + +# The Vistal version number +SET(QTDCM_VERSION_MAJOR "@QTDCM_VERSION_MAJOR@") +SET(QTDCM_VERSION_MINOR "@QTDCM_VERSION_MINOR@") +SET(QTDCM_VERSION_PATCH "@QTDCM_VERSION_PATCH@") + +# The location of the UseVistal.cmake file. +SET(QTDCM_USE_FILE "@QTDCM_USE_FILE@") + +# The build settings file. +SET(QTDCM_BUILD_SETTINGS_FILE "@QTDCM_BUILD_SETTINGS_FILE@") + +# The library depends file. +SET(QTDCM_LIBRARY_DEPENDS_FILE "@QTDCM_LIBRARY_DEPENDS_FILE@") + +# Whether Vistal was built with shared libraries. +SET(QTDCM_BUILD_SHARED "@BUILD_SHARED_LIBS@") + +# all QTDCM libs +SET(QTDCM_LIBS "@QTDCM_LIBS@") + +SET(USE_VISTAL "@USE_VISTAL@") diff --git a/CMake/QtDCMGenerateInstall.cmake b/CMake/QtDCMGenerateInstall.cmake new file mode 100644 index 0000000..213820d --- /dev/null +++ b/CMake/QtDCMGenerateInstall.cmake @@ -0,0 +1,51 @@ +set(QTDCM_BINARY_INSTALL_DIR "${QTDCM_BINARY_DIR}/install") +make_directory(${QTDCM_BINARY_INSTALL_DIR}) + +#Installing cmake files +if ( NOT BUILD_PACKAGE OR BUILD_PACKAGE_DEV OR BUILD_PACKAGE_SDK) + set(QTDCM_CMAKE_FILES + ${QTDCM_BINARY_INSTALL_DIR}/QtDCMConfig.cmake + ${QTDCM_BINARY_INSTALL_DIR}/UseQtDCM.cmake + ${QTDCM_BINARY_INSTALL_DIR}/QtDCMBuildSettings.cmake + ${QTDCM_BINARY_INSTALL_DIR}/QtDCMLibraryDepends.cmake + ) + install_files(${INSTALL_CMAKE} FILES ${QTDCM_CMAKE_FILES}) +endif( NOT BUILD_PACKAGE OR BUILD_PACKAGE_DEV OR BUILD_PACKAGE_SDK ) + +# Installing includes files +if ( NOT BUILD_PACKAGE OR BUILD_PACKAGE_DEV OR BUILD_PACKAGE_SDK ) + set(QTDCM_INCLUDE_FILES) + foreach (inc ${QTDCM_INCLUDE_DIRS}) + file(GLOB QTDCM_INCLUDE_FILES_TMP "${inc}/*.h") + file(GLOB QTDCM_INCLUDE_FILES_TMP2 "${inc}/*.txx") + set(QTDCM_INCLUDE_FILES + ${QTDCM_INCLUDE_FILES_TMP} + ${QTDCM_INCLUDE_FILES_TMP2} + ${QTDCM_INCLUDE_FILES} + ) + endforeach (inc) + install_files(${INSTALL_INC} FILES ${QTDCM_INCLUDE_FILES}) +endif( NOT BUILD_PACKAGE OR BUILD_PACKAGE_DEV OR BUILD_PACKAGE_SDK) + +#Config file for installation +set(QTDCM_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) +set(QTDCM_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}${INSTALL_CMAKE}") +set(QTDCM_BIN_DIR "${CMAKE_INSTALL_PREFIX}${INSTALL_BIN}") +set(QTDCM_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}${INSTALL_INC}") +set(QTDCM_CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}${INSTALL_CMAKE}") +if (WIN32 AND BUILD_SHARED_LIBS) + set(QTDCM_LIBRARY_DIRS "${CMAKE_INSTALL_PREFIX}${INSTALL_BIN}") +else(WIN32 AND BUILD_SHARED_LIBS) + set(QTDCM_LIBRARY_DIRS "${CMAKE_INSTALL_PREFIX}${INSTALL_LIB}") +endif(WIN32 AND BUILD_SHARED_LIBS) + + +SET(QTDCM_USE_FILE ${QTDCM_CMAKE_DIR}UseQtDCM.cmake) +SET(QTDCM_LIBRARY_DEPENDS_FILE ${QTDCM_CMAKE_DIR}QtDCMLibraryDepends.cmake) +SET(QTDCM_BUILD_SETTINGS_FILE ${QTDCM_CMAKE_DIR}QtDCMBuildSettings.cmake) + +#Generate ViSTAL cmake file for external projects +cmake_export_build_settings(${QTDCM_BINARY_INSTALL_DIR}/QtDCMBuildSettings.cmake) +export_library_dependencies(${QTDCM_BINARY_INSTALL_DIR}/QtDCMLibraryDepends.cmake) +configure_file(${QTDCM_SOURCE_DIR}/CMake/QtDCMConfig.cmake.in ${QTDCM_BINARY_INSTALL_DIR}/QtDCMConfig.cmake) +configure_file(${QTDCM_SOURCE_DIR}/CMake/UseQtDCM.cmake.in ${QTDCM_BINARY_INSTALL_DIR}/UseQtDCM.cmake) diff --git a/CMake/QtDCMSettings.cmake b/CMake/QtDCMSettings.cmake new file mode 100644 index 0000000..05058ab --- /dev/null +++ b/CMake/QtDCMSettings.cmake @@ -0,0 +1,27 @@ +# SETTING installation directories +SET (INSTALL_CMAKE /lib/QtDCM-${QTDCM_VERSION_MAJOR}.${QTDCM_VERSION_MINOR}/) +SET (INSTALL_BIN /bin/) +SET (INSTALL_LIB /lib/) +SET (INSTALL_INC /include/qtdcm) +SET (INSTALL_DOC /doc/) +SET (INSTALL_MAN /man/) +SET (INSTALL_SHARE /share/) + +## SETTING THE INCLUDE DIRS +SET (QTDCM_INCLUDE_DIRS +## Modules include dirs + ${QTDCM_SOURCE_DIR}/Code +) + +## SETTING QTDCM LIBRARY DIRS +SET (QTDCM_LIBRARY_DIRS + ${LIBRARY_OUTPUT_PATH} +) + +include_directories(${QTDCM_INCLUDE_DIRS}) +link_directories(${QTDCM_LIBRARY_DIRS}) + +## SETTING QTDCM LIBS +SET(QTDCM_LIBS +qtdcm +) diff --git a/CMake/UseQtDCM.cmake.in b/CMake/UseQtDCM.cmake.in new file mode 100644 index 0000000..883e785 --- /dev/null +++ b/CMake/UseQtDCM.cmake.in @@ -0,0 +1,23 @@ +# +# This file sets up include directories, link directories, and +# compiler settings for a project to use Vistal. It should not be +# included directly, but rather through the QTDCM_USE_FILE setting +# obtained from QtDCMConfig.cmake. +# + +IF(QTDCM_BUILD_SETTINGS_FILE) + INCLUDE("${CMAKE_ROOT}/Modules/CMakeImportBuildSettings.cmake") + CMAKE_IMPORT_BUILD_SETTINGS(${QTDCM_BUILD_SETTINGS_FILE}) +ENDIF(QTDCM_BUILD_SETTINGS_FILE) + +# Add include directories needed to use Vistal. +INCLUDE_DIRECTORIES(${QTDCM_INCLUDE_DIRS}) + +# Add link directories needed to use Vistal. +LINK_DIRECTORIES(${QTDCM_LIBRARY_DIRS}) +SET(CMAKE_MODULE_PATH "${QTDCM_CMAKE_MODULE_PATH}") + +find_package( Qt4 REQUIRED ) +if(QT4_FOUND) + include(${QT_USE_FILE}) +endif(QT4_FOUND) diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..25496bc --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,88 @@ +cmake_minimum_required(VERSION 2.6) + +project(QTDCM) + +set(QTDCM_VERSION_MAJOR "0") +set(QTDCM_VERSION_MINOR "1") +set(QTDCM_VERSION_PATCH "0") + +add_definitions(-g -Wno-deprecated) + +option(BUILD_SHARED_LIBS "Build QtDcm with shared libraries." OFF) +option(BUILD_DOCUMENTATION "Build QtDcm Documentation" OFF) +option(BUILD_PACKAGE "Configure QtDcm packaging" OFF) + +if (BUILD_PACKAGE) + include (${QTDCM_SOURCE_DIR}/CMake/CPackConfig.cmake) +endif(BUILD_PACKAGE) + +set(EXECUTABLE_OUTPUT_PATH "${QTDCM_BINARY_DIR}/bin") +if (WIN32 AND BUILD_SHARED_LIBS) + set(LIBRARY_OUTPUT_PATH "${QTDCM_BINARY_DIR}/bin") +else (WIN32 AND BUILD_SHARED_LIBS) + set(LIBRARY_OUTPUT_PATH "${QTDCM_BINARY_DIR}/lib") +endif (WIN32 AND BUILD_SHARED_LIBS) +mark_as_advanced(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) + +#Configure doxygen documentation +if(BUILD_DOCUMENTATION) + subdirs(Documentation/Doxygen) +endif(BUILD_DOCUMENTATION) + +set (QTDCM_CMAKE_MODULE_PATH ${QTDCM_SOURCE_DIR}/CMake) +set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${QTDCM_CMAKE_MODULE_PATH}") + +include (${QTDCM_SOURCE_DIR}/CMake/QtDCMSettings.cmake) + +find_package( Qt4 REQUIRED ) +if(QT4_FOUND) + include(${QT_USE_FILE}) +endif(QT4_FOUND) + +set(SAMPLE_SRCS + ${QTDCM_SOURCE_DIR}/Code/qtdcm.cpp +) + +set(SAMPLE_HDRS + ${QTDCM_SOURCE_DIR}/Code/qtdcm.h +) + +set(SAMPLE_UIS + ${QTDCM_SOURCE_DIR}/Code/qtdcm.ui +) + +set(SAMPLE_MOC_HDRS ${SAMPLE_HDRS}) + +set(QTDCM_SRCS +) + +qt4_wrap_ui( SAMPLE_UI_HDRS ${SAMPLE_UIS}) +qt4_wrap_cpp( SAMPLE_MOC_SRCS ${SAMPLE_MOC_HDRS}) + +include_directories(${CMAKE_BINARY_DIR} ${QTDCM_SOURCE_DIR}/Code/ ${QTDCM_BINARY_DIR} ${ITK_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS}) +add_library( qtdcm ${QTDCM_SRCS} ${SAMPLE_SRCS} ${SAMPLE_MOC_SRCS} ${SAMPLE_UI_HDRS}) +target_link_libraries( qtdcm ${QT_LIBRARIES}) + + +# External inclusion stuff : +set(QTDCM_USE_FILE ${QTDCM_BINARY_DIR}/UseQtDCM.cmake) +set(QTDCM_LIBRARY_DEPENDS_FILE ${QTDCM_BINARY_DIR}/QtDCMLibraryDepends.cmake) +set(QTDCM_BUILD_SETTINGS_FILE ${QTDCM_BINARY_DIR}/QtDCMBuildSettings.cmake) +# Copy the UseQtDCM.cmake file to the binary tree for backward compatability. +configure_file(${QTDCM_SOURCE_DIR}/CMake/UseQtDCM.cmake.in + ${QTDCM_BINARY_DIR}/UseQtDCM.cmake) +configure_file(${QTDCM_SOURCE_DIR}/CMake/QtDCMConfig.cmake.in + ${QTDCM_BINARY_DIR}/QtDCMConfig.cmake) + +# Save the compiler settings so another project can import them. +include(${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake) +cmake_export_build_settings(${QTDCM_BINARY_DIR}/QtDCMBuildSettings.cmake) +export_library_dependencies(${QTDCM_BINARY_DIR}/QtDCMLibraryDepends.cmake) + +# Create the QtDCMConfig.cmake file containing the QtDCM configuration used with make install and CPack. +include (${QTDCM_SOURCE_DIR}/CMake/QtDCMGenerateInstall.cmake) +if ( NOT BUILD_PACKAGE OR BUILD_PACKAGE_BINARY OR BUILD_PACKAGE_SDK) + install_targets(${INSTALL_LIB} qtdcm) +endif ( NOT BUILD_PACKAGE OR BUILD_PACKAGE_BINARY OR BUILD_PACKAGE_SDK) + + diff --git a/CTestConfig.cmake b/CTestConfig.cmake new file mode 100644 index 0000000..946289d --- /dev/null +++ b/CTestConfig.cmake @@ -0,0 +1,53 @@ +string(TOLOWER ${SITE} SITE) +set(CTEST_PROJECT_NAME "QtM3d") +set(CTEST_NIGHTLY_START_TIME "01:00:00 CEST") + +set(CTEST_DROP_METHOD "http") +set(CTEST_DROP_SITE "cdash.inria.fr") +set(CTEST_DROP_LOCATION "/CDash/submit.php?project=QtM3d") +set(CTEST_DROP_SITE_CDASH TRUE) + +set (PROJECT_BUILDNAME:INTERNAL "${PROJECT_NAME}") +#O.S. +set (BUILDNAME "QtM3d-${CMAKE_SYSTEM_NAME}-${SPECIAL_BUILDNAME}") +#Compiler +#get_filename_component(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE) + +if (NOT WIN32) + exec_program(${CMAKE_CXX_COMPILER} + ARGS -dumpversion + OUTPUT_VARIABLE GCC_VERSION + ) + set (BUILDNAME "${BUILDNAME}-GCC${GCC_VERSION}") +else(NOT WIN32) + if(MINGW) + exec_program(${CMAKE_CXX_COMPILER} + ARGS -dumpversion + OUTPUT_VARIABLE GCC_VERSION + ) + set (BUILDNAME "${BUILDNAME}-GCC${GCC_VERSION}") + else(MINGW) + set(BUILDNAME "${BUILDNAME} ${CMAKE_BASE_NAME}") + endif(MINGW) +endif (NOT WIN32) + +#VTK +if(VTK_FOUND) + set( VTK_STRING "-VTK${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}") + set(BUILDNAME ${BUILDNAME}${VTK_STRING}) +endif(VTK_FOUND) + +#VTK +if(ITK_FOUND) + set( ITK_STRING "-ITK${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}") + set(BUILDNAME ${BUILDNAME}${ITK_STRING}) +endif(ITK_FOUND) + +if(BUILD_SHARED_LIBS) +# set(BUILDNAME "${BUILDNAME} ${CMAKE_BASE_NAME} Dynamic") + set(BUILDNAME "${BUILDNAME}-Dynamic") +else(BUILD_SHARED_LIBS) + set(BUILDNAME "${BUILDNAME}-Static") +endif(BUILD_SHARED_LIBS) + +set(BUILDNAME "${BUILDNAME}" CACHE STRING "Name of build on the dashboard") \ No newline at end of file diff --git a/Code/qtdcm.cpp b/Code/qtdcm.cpp new file mode 100644 index 0000000..bb637ab --- /dev/null +++ b/Code/qtdcm.cpp @@ -0,0 +1,6 @@ +#include "qtdcm.h" + +QtDCM::QtDCM(QWidget *parent) : QLabel(parent) +{ +ui.setupUi(this); +} diff --git a/Code/qtdcm.h b/Code/qtdcm.h new file mode 100644 index 0000000..145f659 --- /dev/null +++ b/Code/qtdcm.h @@ -0,0 +1,18 @@ +#ifndef QTDCM_H +#define QTDCM_H + +#include + +#include "ui_qtdcm.h" + +class QtDCM : public QLabel + { + Q_OBJECT + private: + public: + Ui::QtDCM ui; + QtDCM(QWidget *parent = 0); +}; + +#endif + diff --git a/Code/qtdcm.ui b/Code/qtdcm.ui new file mode 100644 index 0000000..0432908 --- /dev/null +++ b/Code/qtdcm.ui @@ -0,0 +1,41 @@ + + + QtDCM + + + + 0 + 0 + 716 + 560 + + + + Form + + + + + + + 0 + 0 + + + + + + + + TextLabel + + + Qt::AlignCenter + + + + + + + + diff --git a/Documentation/Doxygen/CMakeLists.txt b/Documentation/Doxygen/CMakeLists.txt new file mode 100644 index 0000000..3ec1079 --- /dev/null +++ b/Documentation/Doxygen/CMakeLists.txt @@ -0,0 +1,27 @@ +# +# Build the documentation +# +include(${CMAKE_ROOT}/Modules/Documentation.cmake) + +if(BUILD_DOCUMENTATION) +# +# Configure the script and the doxyfile, then add target +# + if(NOT DOT_PATH) + get_filename_component(DOT_PATH ${DOT} PATH) + endif(NOT DOT_PATH) + + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/doxyfile.in + ${CMAKE_CURRENT_BINARY_DIR}/doxyfile) + + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/doc_makeall.sh.in + ${CMAKE_CURRENT_BINARY_DIR}/doc_makeall.sh) + + add_custom_target(Documentation + ${BASH} + ${CMAKE_CURRENT_BINARY_DIR}/doc_makeall.sh + DEPENDS ${DOT_PNG_DEPS}) + +endif(BUILD_DOCUMENTATION) diff --git a/Documentation/Doxygen/doc_makeall.sh.in b/Documentation/Doxygen/doc_makeall.sh.in new file mode 100644 index 0000000..b26a6db --- /dev/null +++ b/Documentation/Doxygen/doc_makeall.sh.in @@ -0,0 +1,260 @@ +# ------------------------------------------------------------------------- +# Doxygen documentation batch +# modified by S. Barre (Time-stamp: <2003-01-15 18:53:56 barre> +# ------------------------------------------------------------------------- + +# Path to several tools (_PROG to avoid the typical GZIP env var pb) +# Example: +# DOXYGEN_PROG=@DOXYGEN@ (INCLUDE(FindDoxygen.cmake)) +# GZIP_PROG=@GZIP@ (INCLUDE(FindCygwin.cmake)) +# HHC_PROG=@HTML_HELP_COMPILER@ (INCLUDE(FindHTMLHelp.cmake)) +# MV_PROG=@MV@ (INCLUDE(FindCygwin.cmake)) +# PERL_PROG=@PERL@ (INCLUDE(FindPerl.cmake)) +# RM_PROG=@RM@ (INCLUDE(FindCygwin.cmake)) +# TAR_PROG=@TAR@ (INCLUDE(FindCygwin.cmake)) +# WGET_PROG=@WGET@ (INCLUDE(FindWget.cmake)) +# +export DOXYGEN_PROG="@DOXYGEN@" # Doxygen +export GZIP_PROG="@GZIP@" # gzip (Unix-like 'gzip compressor') +export GNUPLOT_PROG="@GNUPLOT@" # gnuplot (data plotting program) +export HHC_PROG="@HTML_HELP_COMPILER@" # HTML Help Compiler +export MV_PROG="@MV@" # mv (Unix-like 'move/rename files') +export PERL_PROG="@PERL@" # Perl +export RM_PROG="@RM@" # rm (Unix-like 'remove files') +export TAR_PROG="@TAR@" # tar (Unix-like 'archiver') +export WGET_PROG="@WGET@" # wget (remote file retrieval) + +# PROJECT_NAME: +# Documentation/project name. Used in some of the resulting file names and +# xrefs to uniquify two or more projects linked together through their +# Doxygen's tag files. Mandatory for each documentation set. +# Note: might be the same as the doxyfile's PROJECT_NAME +# Example: +# PROJECT_NAME=VTK +# +export PROJECT_NAME=QTDCM + +# PATH_TO_VTK_DOX_SCRIPTS: +# Path to the directory holding the Perl scripts used to produce the VTK doc +# in Doxygen format. You need the VTK source files or a local copy of +# these scripts. +# Example: +# PATH_TO_VTK_DOX_SCRIPTS=@VTK_SOURCE_DIR@/Utilities/Doxygen +# +export PATH_TO_VTK_DOX_SCRIPTS="@VTK_SOURCE_DIR@/Utilities/Doxygen" + +# SOURCE_DIR: +# Source directory. The top directory of the source files. +# Example: +# SOURCE_DIR=@VTK_SOURCE_DIR@ +# +export SOURCE_DIR="@QTDCM_SOURCE_DIR@" + +# REL_PATH_TO_TOP: +# Relative path from the top directory of the source files to the directory +# (or top directory) holding the files to document. Useful if several parts +# of the same source directory should be documented separately. +# Example: +# REL_PATH_TO_TOP=. +# REL_PATH_TO_TOP=framework/src +# +# export REL_PATH_TO_TOP=Source +export REL_PATH_TO_TOP=. + +# INTERMEDIATE_DOX_DIR: +# Directory where the intermediate Doxygen files should be stored (mainly +# these headers files converted from the VTK format to the Doxygen format). +# This directory is erased at the end of this script, unless you comment +# the corresponding line. +# DOXTEMP might be used to simplify the syntax. +# Example: +# DOXTEMP=DOXTEMP=@VTK_BINARY_DIR@/Utilities/Doxygen +# INTERMEDIATE_DOX_DIR=$DOXTEMP/dox +# +export DOXTEMP="@QTDCM_BINARY_DIR@/Documentation/Doxygen" +export INTERMEDIATE_DOX_DIR="$DOXTEMP/dox" + +# DOXYFILE: +# Path to the Doxygen configuration file (i.e. doxyfile). +# Example: +# DOXYFILE=$DOXTEMP/doxyfile +# +export DOXYFILE="$DOXTEMP/doxyfile" + +# OUTPUT_DIRECTORY ALLOW_ERASE_OUTPUT_DIRECTORY: +# Path to the Doxygen output directory (where the resulting doc is stored). +# Note: should be the same as your doxyfile's OUTPUT_DIRECTORY +# If ON, allows the output directory to be erased when some advanced output +# file have been produced (HTML Help, or TAR archive for example). +# Example: +# OUTPUT_DIRECTORY=$DOXTEMP/doc +# ALLOW_ERASE_OUTPUT_DIRECTORY=ON +# +export OUTPUT_DIRECTORY="$DOXTEMP/doc" +export ALLOW_ERASE_OUTPUT_DIRECTORY=ON + +# COMPILE_HTML_HELP RESULTING_HTML_HELP_FILE: +# Compile the CHM (Compressed HTML) HTML Help file, name of the resulting +# file. If set to ON and name is non-empty these options will actually +# trigger the HTML-Help compiler to create the CHM. The resulting +# file (usually index.chm) will be renamed to this name. +# Note: if ON, the whole $OUTPUT_DIRECTORY will be erased at the end of +# this script, since this file is considered to be one of the +# advanced final output, unless ALLOW_ERASE_OUTPUT_DIRECTORY is OFF +# Note: your doxyfile should be configured to enable HTML Help creation +# (using GENERATE_HTML = YES, GENERATE_HTMLHELP = YES) +# Example: +# COMPILE_HTML_HELP=ON +# COMPILE_HTML_HELP=@DOCUMENTATION_HTML_HELP@ +# RESULTING_HTML_HELP_FILE=$DOXTEMP/vtk4.chm +# +export COMPILE_HTML_HELP=@DOCUMENTATION_HTML_HELP@ +export RESULTING_HTML_HELP_FILE="$DOXTEMP/$PROJECT_NAME.chm" + +# CREATE_HTML_TARZ_ARCHIVE RESULTING_HTML_TARZ_ARCHIVE_FILE: +# Create a compressed (gzip) tar archive of the html directory (located +# under the OUTPUT_DIRECTORY), and name of the resulting archive file. +# Note: your doxyfile should be configured to enable HTML creation +# (using GENERATE_HTML = YES) +# Example: +# CREATE_HTML_TARZ_ARCHIVE=ON +# CREATE_HTML_TARZ_ARCHIVE=@DOCUMENTATION_HTML_TARZ@ +# RESULTING_HTML_TARZ_ARCHIVE_FILE=$DOXTEMP/vtk4-html.tar.gz +# RESULTING_HTML_TARZ_ARCHIVE_FILE=$DOXTEMP/$PROJECT_NAME-html.tar.gz +# +export CREATE_HTML_TARZ_ARCHIVE=@DOCUMENTATION_HTML_TARZ@ +export RESULTING_HTML_TARZ_ARCHIVE_FILE="$DOXTEMP/$PROJECT_NAME-html.tar.gz" + +# ---------------------------------------------------------------------------- +# Build the contributors list. + +if test "x@VTK_SOURCE_DIR@" != "x" ; then + if test "x$PERL_PROG" != "xNOTFOUND" ; then + echo $PERL_PROG "$PATH_TO_VTK_DOX_SCRIPTS/doc_contributors.pl" \ + --authors "$PATH_TO_VTK_DOX_SCRIPTS/authors.txt" \ + --cachedir "$DOXTEMP/cache" \ + --class_group '^(igstk[A-Z0-9][A-Za-z0-9]+)\.(?:c|cpp|cxx|h|fl)$' \ + --files_in '(?:^hints|dummy|README|^Makefile\.borland|\.(?:c|cmake|cpp|cxx|h|html|in|java|fl|pl|py|tcl|txt))$' \ + --files_out '(?:^ChangeLog\.txt)$' \ + --gnuplot_file "$DOXTEMP/contrib/history.plt" \ + --history_img "|lines|$DOXTEMP/contrib/history.png" \ + --history_img "365|lines|$DOXTEMP/contrib/history2y.png" \ + --history_img "180|linespoints|$DOXTEMP/contrib/history6m.png" \ + --history_dir "$DOXTEMP/contrib" \ + --history_max_nb 10 \ + --lines_add 1.0 \ + --lines_rem 0.5 \ + --massive 50 \ + --max_class_nb 10 \ + --max_file_nb 5 \ + --min_class 0.02 \ + --min_file 0.01 \ + --min_contrib 0.05 \ + --min_gcontrib 0.0001 \ + --store "doc_""$PROJECT_NAME""_contributors.dox" \ + --relativeto "$SOURCE_DIR/$REL_PATH_TO_TOP" \ + --to "$INTERMEDIATE_DOX_DIR" \ + "$SOURCE_DIR/$REL_PATH_TO_TOP" + fi + + if test "x$GNUPLOT_PROG" != "xNOTFOUND" ; then + echo "$GNUPLOT_PROG" "$DOXTEMP/contrib/history.plt" + fi +fi + +# ---------------------------------------------------------------------------- +# Create the Doxygen doc. + +if test "x$DOXYGEN_PROG" != "xNOTFOUND" ; then + + if test "x$RM_PROG" != "xNOTFOUND" ; then + $RM_PROG -fr "$OUTPUT_DIRECTORY" + fi + + "$DOXYGEN_PROG" "$DOXYFILE" + +# yes, a second time, to get the contrib, I don't know why + "$DOXYGEN_PROG" "$DOXYFILE" +fi + +# ---------------------------------------------------------------------------- +# Move the additional PNG files representing StateMachine diagrams from +# the testing directories into the doxygen directory. + +if test "x$MV_PROG" != "xNOTFOUND" ; then + for pngfile in `ls $ADDITIONALIMAGESDIR/*.png` + do + $MV_PROG $pngfile "$OUTPUT_DIRECTORY/html" + done +fi + + +# ---------------------------------------------------------------------------- +# Clean the HTML pages to remove the path to the intermediate Doxygen dir. + +if test "x@VTK_SOURCE_DIR@" != "x" ; then + if test "x$PERL_PROG" != "xNOTFOUND" ; then + $PERL_PROG "$PATH_TO_VTK_DOX_SCRIPTS/doc_rmpath.pl" \ + --verbose \ + --to "$INTERMEDIATE_DOX_DIR" \ + --html "$OUTPUT_DIRECTORY/html" + fi +fi + +# ---------------------------------------------------------------------------- +# Create the CHM HTML HELP doc. + +if test "x$COMPILE_HTML_HELP" == "xON" ; then + if test "x$RESULTING_HTML_HELP_FILE" != "x" ; then + cd $OUTPUT_DIRECTORY/html + if test "x$HHC_PROG" != "xNOTFOUND" ; then + "$HHC_PROG" index.hhp + if test "x$MV_PROG" != "xNOTFOUND" ; then + $MV_PROG -f index.chm "$RESULTING_HTML_HELP_FILE" + fi + fi + fi +fi + +# ---------------------------------------------------------------------------- +# Create the compressed tar archive. + +if test "x$CREATE_HTML_TARZ_ARCHIVE" == "xON" ; then + if test "x$RESULTING_HTML_TARZ_ARCHIVE_FILE" != "x" ; then + cd "$OUTPUT_DIRECTORY" + if test "x$TAR_PROG" != "xNOTFOUND" ; then + if test "x$RM_PROG" != "xNOTFOUND" ; then + $RM_PROG -f html.tar + fi + $TAR_PROG -cf html.tar html + if test "x$GZIP_PROG" != "xNOTFOUND" ; then + if test "x$RM_PROG" != "xNOTFOUND" ; then + $RM_PROG -f html.tar.gz + fi + $GZIP_PROG html.tar + $MV_PROG -f html.tar.gz "$RESULTING_HTML_TARZ_ARCHIVE_FILE" + fi + fi + fi +fi + +# ---------------------------------------------------------------------------- +# Clean-up. + +if test "x$RM_PROG" != "xNOTFOUND" ; then + $RM_PROG -fr "$INTERMEDIATE_DOX_DIR" + + if test "x$DOWNLOAD_VTK_TAGFILE" == "xON" ; then + if test "x$VTK_TAGFILE" != "x" ; then + $RM_PROG -f "$VTK_TAGFILE_DEST_DIR/$VTK_TAGFILE" + fi + fi + + if test "x$COMPILE_HTML_HELP" == "xON" ; then + if test "x$RESULTING_HTML_HELP_FILE" != "x" ; then + if test "x$ALLOW_ERASE_OUTPUT_DIRECTORY" == "xON" ; then + $RM_PROG -fr "$OUTPUT_DIRECTORY" + fi + fi + fi +fi diff --git a/Documentation/Doxygen/doxyfile.in b/Documentation/Doxygen/doxyfile.in new file mode 100644 index 0000000..a866cdf --- /dev/null +++ b/Documentation/Doxygen/doxyfile.in @@ -0,0 +1,65 @@ +# ------------------------------------ +# doxyfile for QTDCM +# written by A. ABADIE +# ------------------------------------ + +PROJECT_NAME = QTDCM + +FULL_PATH_NAMES = YES +WARN_IF_UNDOCUMENTED = NO + +GENERATE_TREEVIEW = NO +GENERATE_TODOLIST = YES +GENERATE_BUGLIST = YES +GENERATE_HTML = YES +GENERATE_HTMLHELP = YES +GENERATE_LATEX = NO +GENERATE_MAN = NO +GENERATE_RTF = NO + +HAVE_DOT = YES +#HAVE_DOT = NO +DOT_PATH = "@DOT_PATH@" +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CLASS_DIAGRAMS = YES +GENERATE_LEGEND = YES +GRAPHICAL_HIERARCHY = YES + +ALLEXTERNALS = NO + +OUTPUT_DIRECTORY = "@QTDCM_BINARY_DIR@" + +INPUT = "@QTDCM_SOURCE_DIR@" + +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = YES +ALWAYS_DETAILED_SEC = NO +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +CASE_SENSE_NAMES = YES +VERBATIM_HEADERS = NO +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = YES +SORT_MEMBER_DOCS = NO +DISTRIBUTE_GROUP_DOC = YES +TAB_SIZE = 3 + +FILE_PATTERNS = *.h *.hxx *.cpp *.hh *.cc +RECURSIVE = YES +EXCLUDE_PATTERNS = + +HTML_ALIGN_MEMBERS = YES +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 3 + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = diff --git a/Documentation/Doxygen/footer.html b/Documentation/Doxygen/footer.html new file mode 100755 index 0000000..fa7c7e6 --- /dev/null +++ b/Documentation/Doxygen/footer.html @@ -0,0 +1,27 @@ + + + + +  + + +
+
+ + + + + + +
+ +  QtDCM
+  Version
+    Contact Email

+ ©Copyright (c) 1999 by IRISA
+    Rennes Campus Universitaire de Beaulieu 35042 Rennes Cedex
+    All Rights Reserved
+ + +
+