cmake3 32|64
Всем привет.
Давно не пользовался смаке. Поставил сейчас версию 3.1.0-rc2.
И при вызове cmake -G"Visual Studio 12 2013 Win64″ в Win7×64 получаю, что CMAKE_SIZEOF_VOID_P равно 4.
Что я делаю неправильно?
Всем привет.
Давно не пользовался смаке. Поставил сейчас версию 3.1.0-rc2.
И при вызове cmake -G"Visual Studio 12 2013 Win64″ в Win7×64 получаю, что CMAKE_SIZEOF_VOID_P равно 4.
Что я делаю неправильно?
делайте директорию build и там запускайте cmake, а дальше в случае чего, просто удаляете директорию.
То, что Вам не нравится, называется out-of-source build и является предпочтительным подходом по мнению создателей CMake.
А не леньЧестно говоря, лень.
правильным организовывать структуру каталогов в проекте, основанным на Cmake?Не думаю, что использование CMake накладывает отпечаток на структуру проекта. При использовании autotools или NAnt, на мой взгляд, проект организовывается так же.
Начну с себяНа мой взгляд, trunk, branches и tags наверное больше относятся к системе контроля версий чем системе сборки.
Project
├── CMakeLists.txt
├── CMakeModules
│ ├── xxx.cmake
│ └── yyy.cmake
├── Core
│ ├── CMakeLists.txt
│ ├── include
│ │ ├── this.h
│ │ └── that.h
│ ├── src
│ │ ├── this.cpp
│ │ └── that.cpp
│ └── test
│ ├── CMakeLists.txt
│ ├── this_test.cpp
│ └── that_test.cpp
├── External
│ └── something
└── Ui
├── CMakeLists.txt
├── include
│ └── widget.h
└── src
├── main.cpp
└── widget.cpp
Хотелось бы добавить, что иногда, некоторые разработчики явно запрещают сборку в корневой директории с исходным кодом.
По приведенно выше ссылке на сборочный скрипт проекта gnuradio это обеспечиватся строчками:
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(FATAL_ERROR «Prevented in-tree build. This is bad practice.»)
endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
Притом что это действительно плохая практика и я с эти полностью согласен, уверен, что ребятам делающим такие Prevented потому шо они считают это bad practice, полезно было бы постучаться головой о стену.
полезно было бы постучаться головой о стену.Ну... Мэнтейнеры... Имеют право, в рамках своего проекта :) .
Мне больше не по душе вот от таких вот вещей, когда сборочный процесс жестко завязан на то, что сборка должна осуществляться в папке <root_source_directory>/build. Т.е. именно build и именно в корне с исходниками.
-
10 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів