Date: Sat, 16 Jan 2021 13:10:44 +0400 From: Gleb Popov <arrowd@freebsd.org> To: Tomasz CEDRO <tomek@cedro.info> Cc: freebsd-ports <freebsd-ports@freebsd.org> Subject: Re: CMAKE_PREFIX_PATH and /usr/local Message-ID: <CALH631k1AA2Rfht7wgSezJXL2GrgH2ypzCEhKmVMSJC10nh2eg@mail.gmail.com> In-Reply-To: <CAM8r67D7OVuAv81kxp4-y9GVH90j7q1-4BQzvnvAUJ6kbfmaiA@mail.gmail.com> References: <CAM8r67DO%2BaiAR7FbtCzOFQKZqbOMV8Xubz9ERCtVujRj3NpxCw@mail.gmail.com> <CALH631ky5P8dd9TCKska-WaQGnVxuuD%2BLb8Xd1Vshya2Vz-kWw@mail.gmail.com> <CAM8r67D7OVuAv81kxp4-y9GVH90j7q1-4BQzvnvAUJ6kbfmaiA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 16, 2021 at 12:17 AM Tomasz CEDRO <tomek@cedro.info> wrote: > On Fri, Jan 15, 2021 at 10:05 AM Gleb Popov wrote: > > On Fri, Jan 15, 2021 at 12:50 AM Tomasz CEDRO wrote: > >> Hello world :-) > >> I am porting LimeSuite to FreeBSD. Local patch fixes missing > >> "/usr/local/" path in CMakeLists.txt so the package now builds fine on > >> FreeBSD. On Linux probably most of the libraries and includes are > >> located in /usr/ do problem does not exist. > >> Upstream has some objections to accept this patch and considers > >> "/usr/local" a non-standard path [1]. But they propose to use > >> CMAKE_PREFIX_PATH to add "/usr/local". This however does not seem to > >> be supported in Ports (yet?). > >> The question is how to tell CMake about "/usr/local/include" without > >> source code modification? :-) > >> Below is the proposed patch: > >> > @@ -171,6 +171,11 @@ if (ENABLE_NEW_GAIN_BEHAVIOUR) > >> add_definitions(-DNEW_GAIN_BEHAVIOUR) > >> endif() > >> +if (CMAKE_SYSTEM_NAME MATCHES "BSD") > >> + include_directories("/usr/local/include") > > > > This is most certainly a wrong thing to do. Instead of simply adding > -I/usr/local/include everywhere, you should fix problems for each > dependency that the software requires. > > > > What error do you get without your patch? > > Hello Gleb :-) This seems the LimeSuite CMake issue not to use > /usr/local/include where some GL includes are located. Without it > there is a build problem as GL.h (something like this) is not found. I > am not sure it this is the only occurrence of this symptom. Simply > adding /usr/local/include solves the problem. > The correct fix is to call find_package(OpenGL) and then use variables it sets.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALH631k1AA2Rfht7wgSezJXL2GrgH2ypzCEhKmVMSJC10nh2eg>