ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] q: %cmake*
@ 2012-03-03 19:56 Michael Shigorin
  2012-03-04  3:27 ` Dubrovskiy Viacheslav
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Shigorin @ 2012-03-03 19:56 UTC (permalink / raw)
  To: devel

	Здравствуйте.
Так всё-таки, как пристало собираться cmake?

В %cmake_insource есть диверсия в виде концевого ";",
не позволяющая передать -D*.

А такое выглядит криво (из-за вытаскивания переменной
из макроса):

%cmake
%make_build -C BUILD

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-03 19:56 [devel] q: %cmake* Michael Shigorin
@ 2012-03-04  3:27 ` Dubrovskiy Viacheslav
  2012-03-04 11:15   ` Michael Shigorin
  2012-03-05  4:00   ` REAL
  0 siblings, 2 replies; 9+ messages in thread
From: Dubrovskiy Viacheslav @ 2012-03-04  3:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 593 bytes --]

03.03.2012 14:56, Michael Shigorin пишет:
> 	Здравствуйте.
> Так всё-таки, как пристало собираться cmake?
>
> В %cmake_insource есть диверсия в виде концевого ";",
> не позволяющая передать -D*.
Вообще-то сборка insource не очень хорошо.
> А такое выглядит криво (из-за вытаскивания переменной
> из макроса):
>
> %cmake
> %make_build -C BUILD
Не понял, что кривого?

-- 
WBR,
Dubrovskiy Viacheslav


[-- Attachment #2: Криптографическая подпись S/MIME --]
[-- Type: application/pkcs7-signature, Size: 4903 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-04  3:27 ` Dubrovskiy Viacheslav
@ 2012-03-04 11:15   ` Michael Shigorin
  2012-03-04 13:54     ` Dubrovskiy Viacheslav
  2012-03-05  4:01     ` REAL
  2012-03-05  4:00   ` REAL
  1 sibling, 2 replies; 9+ messages in thread
From: Michael Shigorin @ 2012-03-04 11:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sat, Mar 03, 2012 at 10:27:31PM -0500, Dubrovskiy Viacheslav wrote:
> > В %cmake_insource есть диверсия в виде концевого ";",
> > не позволяющая передать -D*.
> Вообще-то сборка insource не очень хорошо.

В случае пакета -- чем? (не спорю, спрашиваю)

> > А такое выглядит криво (из-за вытаскивания переменной
> > из макроса):
> >
> > %cmake
> > %make_build -C BUILD
> Не понял, что кривого?

Поскольку BUILD определён в макросе и в спеке является лишней
магической константой.  Я бы его как %cmake_build туда же и
засунул, кстати.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-04 11:15   ` Michael Shigorin
@ 2012-03-04 13:54     ` Dubrovskiy Viacheslav
  2012-03-05  4:02       ` REAL
  2012-03-05  4:01     ` REAL
  1 sibling, 1 reply; 9+ messages in thread
From: Dubrovskiy Viacheslav @ 2012-03-04 13:54 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1292 bytes --]

04.03.2012 06:15, Michael Shigorin пишет:
> On Sat, Mar 03, 2012 at 10:27:31PM -0500, Dubrovskiy Viacheslav wrote:
>>> В %cmake_insource есть диверсия в виде концевого ";",
>>> не позволяющая передать -D*.
>> Вообще-то сборка insource не очень хорошо.
> В случае пакета -- чем? (не спорю, спрашиваю)
Ну это рекомендуемый способ и я сталкивался с пакетами которые не
собирались insource.
В случае пакета - наверно все равно.
>
>>> А такое выглядит криво (из-за вытаскивания переменной
>>> из макроса):
>>>
>>> %cmake
>>> %make_build -C BUILD
>> Не понял, что кривого?
> Поскольку BUILD определён в макросе и в спеке является лишней
> магической константой.  Я бы его как %cmake_build туда же и
> засунул, кстати.
Есть такой FR https://bugzilla.altlinux.org/show_bug.cgi?id=24229
Как-то руки не доходят, да и не делал я такого никогда...

-- 
WBR,
Dubrovskiy Viacheslav


[-- Attachment #2: Криптографическая подпись S/MIME --]
[-- Type: application/pkcs7-signature, Size: 4903 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-05  4:00   ` REAL
@ 2012-03-05  3:29     ` Dubrovskiy Viacheslav
  0 siblings, 0 replies; 9+ messages in thread
From: Dubrovskiy Viacheslav @ 2012-03-05  3:29 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 669 bytes --]

04.03.2012 23:00, REAL пишет:
> 04.03.2012 09:27, Dubrovskiy Viacheslav пишет:
>>> В %cmake_insource есть диверсия в виде концевого ";",
>>> не позволяющая передать -D*.
>> Вообще-то сборка insource не очень хорошо.
> Обоснования?
Ну мне кажется это удобно, когда мухи отделены от котлет.
http://www.cmake.org/Wiki/CMake_FAQ#Out-of-source_build_trees
"Out-of-source builds are recommended, as you can build multiple
variants in separate directories, e.g., HelloBuildDebug, HelloBuildRelease."


-- 
WBR,
Dubrovskiy Viacheslav


[-- Attachment #2: Криптографическая подпись S/MIME --]
[-- Type: application/pkcs7-signature, Size: 4903 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-04  3:27 ` Dubrovskiy Viacheslav
  2012-03-04 11:15   ` Michael Shigorin
@ 2012-03-05  4:00   ` REAL
  2012-03-05  3:29     ` Dubrovskiy Viacheslav
  1 sibling, 1 reply; 9+ messages in thread
From: REAL @ 2012-03-05  4:00 UTC (permalink / raw)
  To: ALT Linux Team development discussions

04.03.2012 09:27, Dubrovskiy Viacheslav пишет:
>> В %cmake_insource есть диверсия в виде концевого ";",
>> не позволяющая передать -D*.
> Вообще-то сборка insource не очень хорошо.

Обоснования?

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-04 11:15   ` Michael Shigorin
  2012-03-04 13:54     ` Dubrovskiy Viacheslav
@ 2012-03-05  4:01     ` REAL
  1 sibling, 0 replies; 9+ messages in thread
From: REAL @ 2012-03-05  4:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

04.03.2012 17:15, Michael Shigorin пишет:
>>> %cmake
>>> %make_build -C BUILD
>> Не понял, что кривого?
>
> Поскольку BUILD определён в макросе и в спеке является лишней
> магической константой.  Я бы его как %cmake_build туда же и
> засунул, кстати.

И ещё туда же (в макрос) неплохо было бы пихнуть VERBOSE=1

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-04 13:54     ` Dubrovskiy Viacheslav
@ 2012-03-05  4:02       ` REAL
  2012-03-05  8:09         ` Michael Shigorin
  0 siblings, 1 reply; 9+ messages in thread
From: REAL @ 2012-03-05  4:02 UTC (permalink / raw)
  To: ALT Linux Team development discussions

04.03.2012 19:54, Dubrovskiy Viacheslav пишет:
>>> Вообще-то сборка insource не очень хорошо.
>> В случае пакета -- чем? (не спорю, спрашиваю)
> Ну это рекомендуемый способ и я сталкивался с пакетами которые не
> собирались insource.

Я сталкивался и с таким, и с ровно наоборот: пакет не хотел собирался 
нигде, кроме insource. Пример не приведу: давно это было.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] q: %cmake*
  2012-03-05  4:02       ` REAL
@ 2012-03-05  8:09         ` Michael Shigorin
  0 siblings, 0 replies; 9+ messages in thread
From: Michael Shigorin @ 2012-03-05  8:09 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Mar 05, 2012 at 10:02:29AM +0600, REAL wrote:
> Я сталкивался и с таким, и с ровно наоборот: пакет не хотел
> собирался нигде, кроме insource. Пример не приведу: давно это
> было.

--- wrar@
Сборка out-of-source включена по умолчанию, потому что, как
правило, это не создаёт проблем, даёт некоторые преимущества,
официально считается предпочтительной, в в некоторых проектах
in-source может быть отключен вообще.
В случае, когда out-of-source не работает (обычно из-за
относительных путей в CMakeLists), а чинить неохота (хотя это,
в общем-то, прямая задача майнтейнера), можно использовать макрос
%cmake_insource, который, как можно догадаться, вызывает cmake
в корне.
--- http://lists.altlinux.org/pipermail/devel/2009-November/177411.html

Насчёт задачи майнтейнера не могу согласиться, это задача апстрима.

> >> Вообще-то сборка insource не очень хорошо.
> > Обоснования?
> Ну мне кажется это удобно, когда мухи отделены от котлет.

Я так и не понял, какие преимущества получаются для пакетов.

> http://www.cmake.org/Wiki/CMake_FAQ#Out-of-source_build_trees
> "Out-of-source builds are recommended, as you can build
> multiple variants in separate directories, e.g.,
> HelloBuildDebug, HelloBuildRelease."

Такое бывает и в пакетах, но крайне редко.

PS: для VERBOSE можно отдельную ручку предусмотреть,
а-ля %cmake_verbose или обобщить как %add_cmake_flags.

PPS: спасибо за обсуждение, FG-2.6.0 уже в сизифе
с учётом сказанного.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-03-05  8:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-03 19:56 [devel] q: %cmake* Michael Shigorin
2012-03-04  3:27 ` Dubrovskiy Viacheslav
2012-03-04 11:15   ` Michael Shigorin
2012-03-04 13:54     ` Dubrovskiy Viacheslav
2012-03-05  4:02       ` REAL
2012-03-05  8:09         ` Michael Shigorin
2012-03-05  4:01     ` REAL
2012-03-05  4:00   ` REAL
2012-03-05  3:29     ` Dubrovskiy Viacheslav

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git