[CMake] Shared library from sources in several subdirectories

2015-12-04 Thread Bruce Stephens
Any suggestions on how to organise that? Presumably there are lots of examples in (for example) KDE, but I'm not familiar enough with that codebase to be able to find them easily. Currently our GNU Make build builds static libraries in the subdirectories, then those are put into a big static

Re: [CMake] Shared library from sources in several subdirectories

2015-12-07 Thread Bruce Stephens
On Mon, Dec 7, 2015 at 9:08 AM, Nils Gladitz wrote: > I would avoid creating these single use, per directory libraries entirely. > > Well, creating the static libraries is obviously just an artifact of our current build scheme, so it makes sense to ditch it. Creating

Re: [CMake] Are the poor reviews of Mastering CMake Justified?

2015-12-21 Thread Bruce Stephens
On Mon, Dec 21, 2015 at 10:11 PM, DJ wrote: > One of the things that seems to me to be missing is some kind of quick > description of the overall "theory of cmake". I am a top-down kind of > person, so I really dislike being left with nothing but "here, type this > in" which is

[CMake] shared library versioning on OS X

2016-02-20 Thread Bruce Stephens
By the looks of it setting the SOVERSION when generating a SHARED library creates the symbolic link, but it doesn't seem to use the -current_version or -compatibility_version flags when linking. Those flags are set as variables CMAKE_C_OSX_CURRENT_VERSION_FLAG and

Re: [CMake] shared library versioning on OS X

2016-02-20 Thread Bruce Stephens
). On Sat, Feb 20, 2016 at 6:59 PM, <clin...@elemtech.com> wrote: > Perhaps this bug report fits what you are seeing. Are you seeing this > limitation in the ninja generator? > > https://cmake.org/Bug/view.php?id=14140 > > Clint > > On Feb 20, 2016 11:49 AM, Bruce Stephe

Re: [CMake] shared library versioning on OS X

2016-02-20 Thread Bruce Stephens
In case anyone cares, I think https://github.com/brucestephens/CMake contains a quick fix. On Sat, Feb 20, 2016 at 7:17 PM, Bruce Stephens <bruce.r.steph...@gmail.com> wrote: > Ah, yes. That looks like exactly the bug, thanks. > > So it's a straight bug in the ninja generator

Re: [CMake] ExternalProject and libraries again

2016-03-09 Thread Bruce Stephens
On Wed, Mar 9, 2016 at 9:27 PM, Nicholas Braden wrote: > I'm not sure which discussion you're referring to, so forgive me if > this was already mentioned - but are you using a superproject to > ensure that dependencies are built and installed before your own > project?

[CMake] ExternalProject and libraries again

2016-03-09 Thread Bruce Stephens
(This is really a continuation of a discussion from 25/26 January.) I'm still confused about ExternalProject_Add and libraries. I'd like to get to the point where I (or more likely a process somewhere) can check out a project, then run cmake and ninja (or make or whatever) and have that build

[CMake] Fwd: Using CPack to package things not built using CMake

2016-05-23 Thread Bruce Stephens
Sorry, that should obviously have gone to this mailing list. -- Forwarded message -- From: Bruce Stephens <bruce.r.steph...@gmail.com> Date: Mon, May 23, 2016 at 2:40 PM Subject: Using CPack to package things not built using CMake To: cmake-develop...@cmake.org Suppose

Re: [CMake] How to Determine If a Perl Module Is Installed?

2016-05-23 Thread Bruce Stephens
On Mon, May 23, 2016 at 11:30 PM, Eric Eide wrote: > Hi! I am a CMake newbie, and I have a question about examining the set of > available Perl modules on a system. > > In CMake (version 2.8.12+), how can I test for the presence of a particular > Perl module, e.g., "Sys::CPU"?

Re: [CMake] How to Determine If a Perl Module Is Installed?

2016-05-24 Thread Bruce Stephens
On Tue, May 24, 2016 at 3:52 AM, Eric Eide wrote: > As a CMake newbie, I was afraid that I was overlooking some sort of > "prepackaged" version of this. Doesn't look like it, but I agree it's the kind of thing that might be usefully included with CMake. -- Powered by

Re: [CMake] cmake source tree pollution ?

2016-09-09 Thread Bruce Stephens
Looks like https://github.com/redguardtoo/cpputils-cmake might be involved... On Fri, Sep 9, 2016 at 5:04 PM, Vania Joloboff wrote: > On 09/09/2016 05:45 PM, Michael Ellery wrote: >> >> This kinda’ sounds like you are doing an in-source build. Are you certain >> that

Re: [CMake] cmake source tree pollution ?

2016-09-09 Thread Bruce Stephens
On Fri, Sep 9, 2016 at 4:45 PM, Michael Ellery wrote: > This kinda’ sounds like you are doing an in-source build. Are you certain > that your currrent/working directory is different from your source tree root > when you run cmake? The typical way of doing this is just to

Re: [CMake] Handling generated headers

2017-03-27 Thread Bruce Stephens
08 PM, Michael Ellery <mellery...@gmail.com> wrote: > >> On Mar 27, 2017, at 6:31 AM, Bruce Stephens <bruce.r.steph...@gmail.com> >> wrote: >> >> I have a build with two or three tools that generate headers and >> source files. Getting the source files compi

[CMake] Handling generated headers

2017-03-27 Thread Bruce Stephens
I have a build with two or three tools that generate headers and source files. Getting the source files compiled is easy enough: when they're mentioned as source files (in add_library or add_executable) the custom rule gets triggered. But that doesn't seem to be true for header files included by

Re: [CMake] How to properly handle build version number in CMake script for project

2017-04-10 Thread Bruce Stephens
On Mon, Apr 10, 2017 at 5:04 PM, Robert Dailey wrote: > Actually I think your idea does work. Why do you think it won't? I'm > using it right now and so far it seems OK. I assumed (without testing, admittedly) is that it would fail if someone used -D to set the value,

Re: [CMake] How to properly handle build version number in CMake script for project

2017-04-10 Thread Bruce Stephens
You could do something like if(NOT "${BUILD_VERSION}") set(BUILD_VERSION 1.2.3.4) endif() On Mon, Apr 10, 2017 at 2:29 PM, Robert Dailey wrote: > I have a file called version.cmake that my root CMakeLists.txt > includes. There is only a single line in this file: > >

Re: [CMake] How to properly handle build version number in CMake script for project

2017-04-10 Thread Bruce Stephens
On Mon, Apr 10, 2017 at 2:36 PM, Bruce Stephens <bruce.r.steph...@gmail.com> wrote: > You could do something like > > if(NOT "${BUILD_VERSION}") > set(BUILD_VERSION 1.2.3.4) > endif() That doesn't work at all, come to think of it. I suspect your best bet is

Re: [CMake] if(ON) not considered true?

2019-01-26 Thread Bruce Stephens
The behaviour's controlled by CMP0012. (The documentation for if() doesn't seem as helpful as it could be. It does seem to suggest that ON, TRUE, etc., ought to be true, without mentioning CMP0012.) On Sat, 26 Jan 2019 at 17:22, frodak17 wrote: > > $ cmake --version > cmake version 3.13.2 > > $

Re: [CMake] make[2]: *** No rule to make target 'sql/sql_yacc.cc', needed by 'libmysqld/CMakeFiles/sql_embedded.dir/__/sql/sql_yacc.cc.o'. Stop.

2019-03-04 Thread Bruce Stephens
On Mon, 4 Mar 2019 at 04:00, Yu, Mingli wrote: > Is there any means to make the logic run in /source/sql/CMakeLists.txt > before which is in /source/libmysqld/CMakeLists.txt? Use a dependency between targets. There's a limitation/bug with things that depend on files created by

Re: [CMake] Question about looping inside a macro.

2019-06-04 Thread Bruce Stephens
This works: macro(bsPrintList) foreach(l ${ARGN}) message(STATUS "List entry: ${l}") endforeach() endmacro() bsPrintList(foo bar baz) On Tue, 4 Jun 2019 at 22:14, Steven Truppe wrote: > > Hi everyone, like you know i'm relative new the cmake and i'm working my way > through the book

Re: [CMake] cmake + ninja how to use several CPU cores?

2019-07-29 Thread Bruce Stephens
You might find it interesting to look at build.ninja. By the looks of it there's a (phony) target guving the dependencies of the library. (That's called cmake_object_order_depends_target_internal_lib) and CMakeFiles/app.dir/main.cpp.o is depending on that. Presumably the idea is that there's no

[cmake-developers] Proposed patch for 0014140: Ninja generator doesn't set version in dylib

2016-03-01 Thread Bruce Stephens
I just copied the relevant code from the Makefiles generator. (And now I find gmail doesn't let me change the properties of the attachment. Bother.) 0001-Copy-logic-for-OS-X-dylib-versioning-to-Ninja-genera.patch Description: Binary data -- Powered by www.kitware.com Please keep messages

Re: [cmake-developers] Proposed patch for 0014140: Ninja generator doesn't set version in dylib

2016-03-07 Thread Bruce Stephens
On Mon, Mar 7, 2016 at 6:06 PM, Brad King <brad.k...@kitware.com> wrote: > On 03/01/2016 04:58 PM, Bruce Stephens wrote: >> I just copied the relevant code from the Makefiles generator. > > Thanks. Instead of copying, please look at moving the relevant > methods up to cm

Re: [cmake-developers] Proposed patch for 0014140: Ninja generator doesn't set version in dylib

2016-03-07 Thread Bruce Stephens
On Mon, Mar 7, 2016 at 8:06 PM, Brad King <brad.k...@kitware.com> wrote: > On 03/07/2016 02:49 PM, Bruce Stephens wrote: >> Moving the method into there worked cleanly. > > Thanks. I split that into a separate commit: Thanks. I wondered whether or not to do that sep

[cmake-developers] Using CPack to package things not built using CMake

2016-05-23 Thread Bruce Stephens
Suppose I have a build which uses a number of external projects (perhaps built using ExternalProject_Add) but which use a variety of build systems. And I want to package the result (so I arrange for the external projects to build expecting themselves to be installed under /opt/foo). What are