1. #1
    Membre régulier
    Profil pro
    Inscrit en
    juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juin 2007
    Messages : 245
    Points : 110
    Points
    110

    Par défaut cpack and cmake sous windows

    Bonjour,

    j'essaye de generer un installeur pour compiler des codes c++ etc ... et ajouter le repertoir "bin" avec les .exe aux variables d'environement pour que que les .exe soit appellable depuis n'importe ou dans une fenetre cmd.
    je suis nouveau sur windows, sous linux j'ai mis dans /usr/bin et hop.

    sous windows j'essaye de faire une "interface d'installation" en utilisant cpack et nsis.

    pour le moment j'ai:

    un cmakelist.txt principale dans le repertoire source, avec dedans des add_subdirectory() pour les differentes "toolbox" et dans chaque subdirectory j'ai d'autres cmakelist.txt

    j'ai ajouté à la fin de tous un INCLUDE(CPack)

    dans le cmakelist.txt principal j'ai ajouté SET(CPACK_NSIS_MODIFY_PATH ON)
    (d'apres la doc ca correspond a ce que je voulais pour ajouter au system path variable:
    CPACK_NSIS_MODIFY_PATH
    Modify PATH toggle
    If this is set to "ON", then an extra page will appear in the installer that will allow the user to choose whether the program directory should be added to the system PATH variable.
    )

    et pour le moment c'est tout ce que j'ai modifié vis a vis de cpack.

    et j'ai un probleme:
    j'ai cette erreur:
    ABSOLUTE path INSTALL DESTINATION forbidden (by caller)

    j'ai vu ce post : https://stackoverflow.com/questions/...er-for-windows
    mais ca ne marche pas.
    j'ai fait ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    message("test")
    IF(CMAKE_SYSTEM_NAME STREQUAL Windows)
    IF(Pack)
    message("i am here")
    INSTALL(TARGETS
    		monsupercode 				
            DESTINATION bin)
    
    ELSE(Pack)
    message("I should not be here")
    INSTALL(TARGETS
    		monsupercode 				
            DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
    ENDIF(Pack)
    ENDIF(CMAKE_SYSTEM_NAME STREQUAL Windows)
    et ca m'affiche I should not be here ...
    j'ai teste de rajouter : SET(CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION OFF) sans succes.

    quelqu'un aurait une idee ?

    merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juin 2007
    Messages : 245
    Points : 110
    Points
    110

    Par défaut

    alors appararemment pack n'etait pas une variable connue donc je l'ai ajoute dans le main cmakelist.txt
    SET(Pack True CACHE BOOL "Use CPACK")
    maintenant ca va bien dans la bonne condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSTALL(TARGETS
    		monsupercode 				
            DESTINATION bin)
    mais la destination des .exe n'est pas ou je veux.

    lorsque je fais cmake-gui . je vois bien que ca va dans le if(pack)
    je fais la configuration/generation via le cmake-gui

    apres je build avec visual studio et ensuite je fais cpack . ?
    c'est ce qui est pas encore tres clair pour moi.
    je dois passer par l'etape visual studio ?

Discussions similaires

  1. Compilation sous Windows avec CMake
    Par kevin254kl dans le forum OpenCV
    Réponses: 1
    Dernier message: 27/12/2015, 01h54
  2. [VTK] Problème de compilation sous windows (cmake gui)
    Par Thugann dans le forum API graphiques
    Réponses: 10
    Dernier message: 25/11/2015, 11h02
  3. Quel CMake sous MSYS ou MSYS2 sous Windows ?
    Par lalebarde dans le forum MinGW
    Réponses: 1
    Dernier message: 13/03/2014, 08h25
  4. Réponses: 7
    Dernier message: 22/04/2013, 23h44
  5. Cmake : problème de configuration sous windows
    Par Battant dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 05/01/2013, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo