public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: cygport: CYGCMAKE_SOURCE seems to have no effect.
Date: Fri, 17 Sep 2021 09:41:08 -0600	[thread overview]
Message-ID: <fed7b366-56ef-0a93-1b8b-fbb8c6ced443@SystematicSw.ab.ca> (raw)
In-Reply-To: <CADt9575jJ8ZvaN4+U5d=Jws=ZPooBbm13p8OLAo-YU2Y69g5Tg@mail.gmail.com>

On 2021-09-17 03:37, Carlo B. via Cygwin wrote:
> in addition to my previous message, I did some experiments with the
> code of cygport and I added these lines to
> /usr/share/cygport/cygclass/cmake.cygclass:
> 
> echo "CYGCMAKE_SOURCE=${CYGCMAKE_SOURCE}"
> echo "B=${B}"
> echo "S=${S}"
> echo "PWD=${PWD}"
> 
> and the result is:
> 
> CYGCMAKE_SOURCE=/cmake

If you look at the Cygport Install Functions docs for docinto, ...into, 
defining target directories, you would see that an "absolute" path 
disables cygport from prefixing a subdirectory name with the package 
name, etc. so CMakeLists.txt is (linked) under ${S,B}/cmake, and cygport 
will automatically find that, so it should not be required or specified:

	https://cygwin.github.io/cygport/cmake_cygclass.html#robo767

"This is only necessary when the top-level CMakeLists.txt is not in $S 
and cygcmake is not being run in the same subdirectory of $B which under 
$S contains the top-level CMakeLists.txt. (IOW if the top-level 
CMakeLists.txt is in $S/unix and cygcmake is run from $B/unix, setting 
CYGCMAKE_SOURCE would not be necessary.)"

as cygport would find CMakeLists.txt in $S/cmake/ so it would copy or 
link those under $B, and run cygcmake under the equivalent subdirectory.

> B=/home/carlo/liblo.src/liblo-0.31-1.x86_64/build
> S=/home/carlo/liblo.src/liblo-0.31-1.x86_64/src/liblo-0.31
> PWD=/home/carlo/liblo.src/liblo-0.31-1.x86_64/build
> *** ERROR: cygcmake: cmake directory not found
> 
> But ${CYGCMAKE_SOURCE} was set as:
> 
> CYGCMAKE_SOURCE="${S}/cmake"
> 
> So, it seems to me that there is at least a bug into the
> documentation, because ${CYGCMAKE_SOURCE} does not seem to allow the
> use of {S}.

CMakeLists.txt is found automatically by cygport if it is under $S, as 
that is the documented assumption (see above).

> I was able to make it working by writing:
> 
> CYGCMAKE_SOURCE="$(pwd)/${NAME}-${VERSION}-${RELEASE}.${ARCH}/src/${NAME}-${VERSION}/cmake"
> 
> but I don't know if this is the right way to do it and could be accepted or not.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]


>> =======> And this is the content of my liblo.cygport file:
>>
>> inherit cmake
>>
>> NAME="liblo"
>> VERSION=0.31
>> RELEASE=1
>> CATEGORY="Audio"
>> SUMMARY="Open Sound Control protocol for POSIX systems"
>> DESCRIPTION="Open Sound Control (OSC) is a protocol for communication
>>   among computers, sound synthesizers, and other multimedia devices that
>>   is optimized for modern networking technology."
>> HOMEPAGE="http://liblo.sourceforge.net/"
>> SRC_URI="http://downloads.sourceforge.net/liblo/liblo-${VERSION}.tar.gz"
>>
>> PKG_NAMES="liblo1 liblo-devel"
>> PKG_IGNORE="
>>      usr/share/doc/liblo/AUTHORS
>>      usr/share/doc/liblo/COPYING
>>      usr/share/doc/liblo/ChangeLog
>>      usr/share/doc/liblo/NEWS
>>      usr/share/doc/liblo/README
>>      usr/share/doc/liblo/TODO
>> "
>>
>> liblo1_CATEGORY="Libs"
>> liblo1_SUMMARY="${SUMMARY}"
>> liblo1_CONTENTS="
>>      usr/bin/cyglo-7.dll
>>      usr/bin/oscdump.exe
>>      usr/bin/oscsend.exe
>> "
>> liblo_devel_CATEGORY="Libs"
>> liblo_devel_SUMMARY="${SUMMARY}"
>> liblo_devel_CONTENTS="
>>      usr/include/lo/*
>>      usr/lib/liblo.dll.a
>>      usr/lib/pkgconfig/liblo.pc
>>      usr/lib/cmake/liblo/libloConfig.cmake
>> "
>>
>> CYGCMAKE_SOURCE="${S}/cmake"



  reply	other threads:[~2021-09-17 15:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-16 15:18 Carlo B.
2021-09-16 17:48 ` Brian Inglis
2021-09-17  8:18   ` Carlo B.
2021-09-17  9:37 ` Carlo B.
2021-09-17 15:41   ` Brian Inglis [this message]
2021-09-17 20:57     ` Carlo B.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fed7b366-56ef-0a93-1b8b-fbb8c6ced443@SystematicSw.ab.ca \
    --to=brian.inglis@systematicsw.ab.ca \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).