Konfiguracja CLion pod CentOS 7 (problem z CMake i kompliacją)

Odpowiedz Nowy wątek
2019-11-08 10:25
0

Dzień dobry

Testuję oprogramowanie CLion (może przesiądę się z CodeBlocks).
Po zainstalowaniu natrafiłem na problem CMake

Oprogramowanie: CentOS 7

Skrypt budowania:

USER=user
VERSION=3.15.5
cd /
wget https://github.com/Kitware/CMake/releases/download/v${VERSION}/cmake-${VERSION}.tar.gz
tar -xf cmake-${VERSION}.tar.gz
rm -rf cmake-${VERSION}.tar.gz
cd cmake-${VERSION}
./bootstrap
gmake
sudo gmake install
cd ..
sudo mv cmake-${VERSION} /usr/local/
echo 'PATH=/usr/local/cmake-'${VERSION}'/bin:$PATH' >> ~/.bashrc
echo "export PATH" >> ~/.bashrc
echo 'export CMAKE_ROOT=/usr/share/cmake-'${VERSION} >> ~/.bashrc
echo 'PATH=/usr/local/cmake-'${VERSION}'/bin:$PATH' >> /home/${USER}/.bashrc
echo "export PATH" >> /home/${USER}/.bashrc
echo 'export CMAKE_ROOT=/usr/share/cmake-'${VERSION} >> /home/${USER}/.bashrc
mkdir -p /usr/local/cmake-${VERSION}/share
mkdir -p /usr/local/cmake-${VERSION}/share/cmake-${VERSION::-2}
cp -R /usr/local/cmake-${VERSION}/* /usr/local/cmake-${VERSION}/share/cmake-${VERSION::-2}
cp -R /usr/local/cmake-${VERSION}/ /usr/share/

Poradnik z którego korzystałem:
https://xinyustudio.wordpress.com/2014/06/18/how-to-install-cmake-3-0-on-centos-6-centos-7/

Build log z CLion:

====================[ Build | all | Debug ]=====================================
/usr/local/cmake-3.15.5/bin/cmake --build /home/user/Desktop/project/cmake-build-debug --target all -- -j 2
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/usr/local/cmake-3.15.5/share/cmake-3.15
CMake Error: Error executing cmake::LoadCache(). Aborting.

gmake: *** [cmake_check_build_system] Error 1

Program jest w C nie C++

Repozytorium CentOS zawiera CMake lecz w starszej wersji. CMake3 jest dostępny w wersji 3.14.6 potrzebuję wersji minimum 3.15.0

Projekt jest w katalogu współdzielony z Windows poprzez Virtual Box

edytowany 3x, ostatnio: Marcin Marcin, 2019-11-08 14:56

Pozostało 580 znaków

2019-11-08 17:02
0

Po kolei.
Czy cmake zainstalował się poprawnie? Bo te logi to chyba budowanie innego projektu.
Co ci wypisuje cmake --version?
Czy cmake testowałeś go na innym próbnym projekcie?

https://stackoverflow.com/a/46805870/1387438


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22, 2019-11-08 17:03

Pozostało 580 znaków

2019-11-08 17:51
0

Na 99% nie potrzebujesz konkretnej wersji CMake. Otwórz sobie w projekcie wygenerowanym przez Cliona plik CMakeLists.txt i podaj tam tą wersję cmake którą masz w pakiecie.

edytowany 2x, ostatnio: Bartłomiej Golenko, 2019-11-08 17:56

Pozostało 580 znaków

2019-11-08 18:38
0
MarekR22 napisał(a):

Po kolei.
Czy cmake zainstalował się poprawnie? Bo te logi to chyba budowanie innego projektu.
Co ci wypisuje cmake --version?
Czy cmake testowałeś go na innym próbnym projekcie?

https://stackoverflow.com/a/46805870/1387438

Dla roota i usera to samo

[[email protected] ~]$ cmake --version
cmake version 3.15.5

CMake suite maintained and supported by Kitware (kitware.com/cmake).
[[email protected] ~]$ 

CMake zainstalował się poprawnie. Po uruchomieniu z CLion projektu znajdującego się na pulpicie kompilacja przebiega poprawnie.
Błąd występuje tylko gdy przeniosę/stworzę nowy projekt na folderze współdzielonym maszyny wirtualnej

zrobiłem jeszcze test na Ubuntu - zainstalowałem i na folderze wspóldzielonym występuje ten sam problem
Pojawia się albo ten błąd albo "Cannot find any CMake profile"

Wolałbym nie rezygnować z projektu w folderze współdzielonym

Bartłomiej Golenko napisał(a):

Na 99% nie potrzebujesz konkretnej wersji CMake. Otwórz sobie w projekcie wygenerowanym przez Cliona plik CMakeLists.txt i podaj tam tą wersję cmake którą masz w pakiecie.

Chcę mieć skrypt budowania oraz wszystkie kroki potrzebne do projektu.

Pozostało 580 znaków

2019-11-08 18:47
1
Marcin Marcin napisał(a):

Błąd występuje tylko gdy przeniosę/stworzę nowy projekt na folderze współdzielonym maszyny wirtualnej

A tak to nie możesz zrobić.
pliki wygenerowane przez cmake nie mogą być współdzielone.
Przykładowo uruchomienie cmake z generatorem VS 2017 wykrzaczyło mi się bo wcześniej używłem generatora VS 2019!.
W przypadku współdzielenia cache różnych platform to już powinno się już zupełnie kaszanić.

Użyj innej lokalizacji dla każdej platformy.

W sensie:

mkdir linux
cd linux
cmake .. -G TwojGenerator

oraz

mkdir win
cd win
cmake .. -G "Visual Studio 12 2013"

Kod możesz współdzielić, ale cache cmake nie.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22, 2019-11-08 18:47

Pozostało 580 znaków

2019-11-08 19:25
0

Chciałbym po prostu zmienić miejsce w którym zapisuję projekt z /home/user/Desktop/ do folderu współdzielonego z VirtualBox uruchamiając zawsze ten sam kod z tym samym plikiem CMakeList.txt

Pliki mają być cały czas w tym miejscu (w folderze współdzielony) którym jest z kontroli wersji i z niego mają być releasy zawierające cały pakiet aby móc z CMake skompilować gotowy program na innym systemie ze źródeł

Generalnie chciałbym utworzyć nowy projekt w folderze współdzielonym ale występuje błąd którego nie ma w innych folderach

Pozostało 580 znaków

2019-11-08 19:37
0

Takie współdzielenie będzie Cię kosztować więcej pracy niż dwa osobne repozytoria git. Ale jeśli się upierasz - posłuchaj tego co Ci napisał @MarekR22 - musisz mieć dwa osobne katalogi w których budujesz projekt.

Google ( "CLion build path" )

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0