X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FcreaNewProject%2FcreaNewProject.cpp;h=b7b1bf635c6e696e8deffb57b662aa82dafec4cb;hb=9e7201b8488e634387f2ca91821f9964bbddc2ca;hp=93cfd5c9d70f085434f9b5cefd39221331a6d58a;hpb=43809f06e3ad67bc2b0b30f6682a4e1ad23341a1;p=crea.git diff --git a/appli/creaNewProject/creaNewProject.cpp b/appli/creaNewProject/creaNewProject.cpp index 93cfd5c..b7b1bf6 100644 --- a/appli/creaNewProject/creaNewProject.cpp +++ b/appli/creaNewProject/creaNewProject.cpp @@ -1,3 +1,30 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ +*/ + #include #include #include // for getenv @@ -33,13 +60,17 @@ bool myApp::OnInit( ) wxString description = wxGetTextFromUser(_T("Enter Package Description (html format)"), _T("create New Package"), _T("NO_DESCRIPTION")); - if (description.IsEmpty()) return false; + if (description.IsEmpty()) return false; + + wxString authorWX = wxGetTextFromUser(_T("Author (One word)"), + _T("Author"), + _T("Author_Name")); + if (description.IsEmpty()) return false; + -char * install_Dir = getenv("bbtk_DIR"); -std::string execGUICreateNewPackage(install_Dir); -execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; #if(_WIN32) + std::string command("creaNewProject.bat "); std::string command1("creaSed.exe "); std::string command2("del "); @@ -49,19 +80,27 @@ execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; command2 += "\"" + crea::wx2std(dir)+"\\"+crea::wx2std(name)+"\\CMakeLists.txt.in\""; if ( ! system ( command.c_str() ) ) { - system ( command1.c_str() ); + system ( command1.c_str() ); system ( command2.c_str() ); - wxMessageBox(_T("New Project created !"),_T("creaNewProject"), - wxOK | wxICON_INFORMATION); - // Create a Package at the same time. JPR + // Create a Package at the same time. JPR + + //2018-07-06 mingw64 +// char *author = (char*) (authorWX.mb_str()) ; + char *author = authorWX.mb_str() ; - /// \TODO rewrite, according to new trick - execGUICreateNewPackage += "\..\..\..\share\bbtk\bbs\toolsbbtk\appli\GUICreatePackage.bbs"; - system(execGUICreateNewPackage.c_str()); - } - else - { + std::string nomDirectory = crea::wx2std(dir) + "\\" + crea::wx2std(name); + std::string nomPackageDirectory = nomDirectory + "\\" + "bbtk_" + crea::wx2std(name) + "_PKG"; + std::string bbCreatePackage("bbCreatePackage "); + bbCreatePackage += nomDirectory + " " + crea::wx2std(name) + " " + author + " " + crea::wx2std(description); + system (bbCreatePackage.c_str()); + std::string add; + add = "echo ADD_SUBDIRECTORY(bbtk_" + crea::wx2std(name) + "_PKG) >> " + nomDirectory + "/CMakeLists.txt"; + system(add.c_str()); + + wxMessageBox(_T("New Project created !"),_T("creaNewProject"), + wxOK | wxICON_INFORMATION); + } else { wxString err(_T("An error occured while running '")); err += crea::std2wx(command) + _T("'"); wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR); @@ -86,7 +125,9 @@ execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; // or, better, new trick : // bbCreatePackage nomDirectory nomPackage author Description - char *author = getenv("USER"); +//EED char *author = getenv("USER"); +// JPR char *author = (char*) (authorWX.mb_str()); + std::string author(authorWX.mb_str()); std::string nomDirectory = crea::wx2std(dir) + "/" + crea::wx2std(name); std::string nomPackageDirectory = nomDirectory + "/" + "bbtk_" + crea::wx2std(name) + "_PKG"; @@ -96,12 +137,12 @@ execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; std::string add; add = "echo 'ADD_SUBDIRECTORY(bbtk_" + crea::wx2std(name) + "_PKG)' >> " + nomDirectory + "/CMakeLists.txt"; - std::cout << add << std::endl; + //std::cout << add << std::endl; system(add.c_str()); } else - { + { wxString err(_T("An error occured while running '")); err += crea::std2wx(command) + _T("'"); wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR);