[Cmake-commits] CMake branch, master, updated. v3.8.1-1177-g1867856

2017-05-15 Thread Kitware Robot
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
   via  1867856f6adb5d9743cfa28e7b10809e23dd0d51 (commit)
  from  471779764757a3a6e4b5fb1db9b8943630b18f3d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1867856f6adb5d9743cfa28e7b10809e23dd0d51
commit 1867856f6adb5d9743cfa28e7b10809e23dd0d51
Author: Kitware Robot <kwro...@kitware.com>
AuthorDate: Tue May 16 00:01:05 2017 -0400
Commit: Kitware Robot <kwro...@kitware.com>
CommitDate: Tue May 16 00:01:05 2017 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index dea8b6d..c3bee5b 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 8)
-set(CMake_VERSION_PATCH 20170515)
+set(CMake_VERSION_PATCH 20170516)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[CMake] CMake How to check target for build

2017-05-15 Thread Denis Kotov
Hi everyone,

It is a copy of question in http://stackoverflow.com/
questions/43858722/cmake-how-to-check-target-for-build

I am interesting in analog of *MAKECMDGOALS *in* Makefile  *.
For example if I use the following code for build
*:*

/home/username/Software/clion-2017.1.1/bin/cmake/bin/cmake --build
/home/username/Projects/cppTests/cmake-build-debug --target cppTests
-- -j 8

How can I check in *CMake* file target name that specified by:

--target cppTests


Does *CMake* have such possibility ?

*Thanks,*

*Best RegardsDenis Kotov*
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

[CMake] RPATH for external library

2017-05-15 Thread Pawel Veselov
Hello.

I'm trying to make CMake add to the linker RPATH automatically.
There is a library that is installed in a non-default location.
I'm discovering the library using PkgConfig (custom CMAKE_APPBUNDLE_PATH)
and add the library build options to the LINK_FLAGS (using set_property).

I then set INSTALL_RPATH_USE_LINK_PATH and BUILD_WITH_INSTALL_RPATH to TRUE.

The BUILD_WITH_INSTALL_RPATH supposedly should add any -R that are for
installation to the built binary. The INSTALL_RPATH_USE_LINK_PATH should
find any -L options and copy them as -R options (AFAIU). Changing RPATH
flags happens before the target is created, or link flags are added to the
target.

The linker executed consistently lacks any -R options at all.

Any advice on what I may be doing wrong, or am I misunderstanding the RPATH
properties? One thing I believe may be a problem is that I treat LINK_FLAGS
as a string, and not a set...

cmake available : https://pastebin.com/Y67FerMd

Thank you,
  Pawel.
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [cmake-developers] Xcode source file type

2017-05-15 Thread James Touton
Thanks, guys; I'll investigate and see what I can do.

On Mon, May 15, 2017 at 6:06 AM, Brad King  wrote:

> On 05/14/2017 05:42 PM, Gregor Jasny via cmake-developers wrote:
> > I'd welcome any attempts to simplify the Xcode generator. But before I'd
> > ack such a PR I'd like to know why this functionality was added in the
> > first place. CMake still supports (does not actively break) Xcode 3. If
> > there is no answer to that question: maybe you could test and limit your
> > changes to a newer Xcode version (like 5 or above).
>
> Run
>
> ```
> $ git log -SlastKnownFileType -- Source/
> ```
>
> to see a history for this setting.  Some investigation may be
> needed to determine what is needed for current Xcode versions.
> The setting could easily be made conditional on the Xcode version.
>
> -Brad
>
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

[Cmake-commits] CMake branch, master, updated. v3.8.1-1176-g4717797

2017-05-15 Thread Kitware Robot
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
   via  471779764757a3a6e4b5fb1db9b8943630b18f3d (commit)
   via  dd89b24b9b637ee58ffe60b24f6c3b3ddec5132c (commit)
   via  bedd098a65f30139eb2c1520d1d4b005e3b2c059 (commit)
   via  cda0baea495056c12c97262701c832e9b2a62bb4 (commit)
   via  263840681331b0b75ee179b27ec33bb909f4c98c (commit)
   via  6949b71ff13e222925c0939c50f669e23b6da785 (commit)
   via  3eb0f08084173f344851a36876864c58a301d5ea (commit)
   via  6a6cbd47fba7630844ed144aaf24f415afbdc72e (commit)
   via  b95fbbe55328d583f77280eca862a7951d19d836 (commit)
   via  ab39dd11f5ba134b56dc802584f33c2c46df7f09 (commit)
   via  2e293c39da969cc0c39503e1fef6310b4ef85d85 (commit)
  from  52fbae0a59d05f2724e77aff75c7761b685bae03 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=471779764757a3a6e4b5fb1db9b8943630b18f3d
commit 471779764757a3a6e4b5fb1db9b8943630b18f3d
Merge: dd89b24 6a6cbd4
Author: Brad King 
AuthorDate: Mon May 15 14:57:35 2017 +
Commit: Kitware Robot 
CommitDate: Mon May 15 10:57:41 2017 -0400

Merge topic 'fix-target-alias-doc-typo'

6a6cbd47 Help: Fix typo in add_library(... ALIAS ...) text

Acked-by: Kitware Robot 
Merge-request: !840


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dd89b24b9b637ee58ffe60b24f6c3b3ddec5132c
commit dd89b24b9b637ee58ffe60b24f6c3b3ddec5132c
Merge: bedd098 b95fbbe
Author: Brad King 
AuthorDate: Mon May 15 14:56:56 2017 +
Commit: Kitware Robot 
CommitDate: Mon May 15 10:57:20 2017 -0400

Merge topic 'autogen_settings'

b95fbbe5 Autogen: Add -DWIN32 to definitions list on demand
ab39dd11 Autogen: Include moc/uic/rcc binary in settings hash

Acked-by: Kitware Robot 
Merge-request: !836


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bedd098a65f30139eb2c1520d1d4b005e3b2c059
commit bedd098a65f30139eb2c1520d1d4b005e3b2c059
Merge: cda0bae 2638406
Author: Brad King 
AuthorDate: Mon May 15 14:55:53 2017 +
Commit: Kitware Robot 
CommitDate: Mon May 15 10:55:58 2017 -0400

Merge topic 'cpack-components-handle-symlinks'

26384068 CPack test symlinks in package
6949b71f CPack unify component/monolithic package symlink handling
3eb0f080 Improved CPack tests error logging

Acked-by: Kitware Robot 
Merge-request: !841


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cda0baea495056c12c97262701c832e9b2a62bb4
commit cda0baea495056c12c97262701c832e9b2a62bb4
Merge: 52fbae0 2e293c3
Author: Brad King 
AuthorDate: Mon May 15 14:54:45 2017 +
Commit: Kitware Robot 
CommitDate: Mon May 15 10:55:10 2017 -0400

Merge topic 'FindPkgConfig-fix-lib-search'

2e293c39 FindPkgConfig: Fix pkg_check_modules() non-standard location search

Acked-by: Kitware Robot 
Merge-request: !835


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=263840681331b0b75ee179b27ec33bb909f4c98c
commit 263840681331b0b75ee179b27ec33bb909f4c98c
Author: Domen Vrankar 
AuthorDate: Sun May 14 23:44:56 2017 +0200
Commit: Domen Vrankar 
CommitDate: Sun May 14 23:45:18 2017 +0200

CPack test symlinks in package

diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake 
b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index 8ca7126..752ce8a 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -24,5 +24,6 @@ run_cpack_test_subtests(SINGLE_DEBUGINFO 
"no_main_component;one_component;one_co
 run_cpack_test(EXTRA_SLASH_IN_PATH "RPM" true "COMPONENT")
 run_cpack_source_test(SOURCE_PACKAGE "RPM")
 run_cpack_test(SUGGESTS "RPM" false "MONOLITHIC")
+run_cpack_test(SYMLINKS "RPM;TGZ" false "MONOLITHIC;COMPONENT")
 run_cpack_test(USER_FILELIST "RPM" false "MONOLITHIC")
 run_cpack_test(MD5SUMS "DEB" false "MONOLITHIC;COMPONENT")
diff --git a/Tests/RunCMake/CPack/tests/SYMLINKS/ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/tests/SYMLINKS/ExpectedFiles.cmake
new file mode 100644
index 000..05be748
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/SYMLINKS/ExpectedFiles.cmake
@@ -0,0 +1,13 @@
+set(EXPECTED_FILES_COUNT "1")
+
+set(EXPECTED_FILE_CONTENT_1_LIST
+  "/usr"
+  "/usr/empty_dir"
+  "/usr/non_empty_dir"
+  "/usr/non_empty_dir/CMakeLists.txt"
+  "/usr/symlink_to_empty_dir"
+  

Re: [CMake] How to detect MSVC 2015 update 3 (= presence of /fpermissive-)

2017-05-15 Thread René J . V . Bertin
On Monday May 15 2017 15:58:53 Konstantin Tokarev wrote:

Hello,

>Have you tried CHECK_CXX_COMPILER_FLAG?

I forgot to mention: I don't have a MS dev set-up at the moment. This is for a 
cross-platform purposes (in KDE's extra-cmake-modules).

Thanks,
R
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [cmake-developers] Wrongly assuming lib/ is IsImplicitDirectory for runtime-paths

2017-05-15 Thread Brad King
On 05/15/2017 03:28 AM, Patrick Boettcher wrote:
> To this list somewhere the lib/-path located next to the
> compiler-bin/-path has been added.
[snip]
> What can I do? Is this a bug in cmake or in my setup?
> Why is this path considered implicit?

CMake tries to detect the implicit link directories used by the
compiler front-end when driving the linker.  See results in any
build tree:

```
$ grep IMPLICIT CMakeFiles/*/CMake*Compiler.cmake
```

The `Modules/CMakeParseImplicitLinkInfo.cmake` file contains the
code that does this.  It is called while detecting the compiler.

The assumption is that running `c++ foo.cpp && ./a.out` will work
with no special runtime paths explicitly added.  The toolchain
should be configured to add its own implicit link directories to
the runtime path of binaries it links, or the environment should
otherwise be configured such that the dynamic loader looks there.

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] CMake_TEST_XXX variables

2017-05-15 Thread Brad King
On 05/13/2017 08:55 PM, Craig Scott wrote:
> only set on the CMake command line by CI builds or similar,

Correct.  We need a way to activate such tests only on machines
where we expect them to work.  It would be nice to have something
better but I'm not sure what else we can do.  We used to try to
add tests for find modules automatically but that ends up needing
to run the find modules as part of configuring CMake, giving the
false appearance that CMake actually needs all those packages and
possibly breaking on bad ones.  The GTK2 tests still have this
problem.

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] ;-list in docs

2017-05-15 Thread Brad King
On 05/13/2017 06:43 PM, Jean-Michaël Celerier wrote:
> On Sat, May 13, 2017 at 5:39 AM, Craig Scott wrote:
>> ;-list
> It's a shorthand for semicolon-separated list : 
> https://cmake.org/cmake/help/v3.8/command/separate_arguments.html?highlight=semicolon

Yes.  In documentation that has been modernized we use

:ref:`;-list `

to link here:

 https://cmake.org/cmake/help/v3.8/manual/cmake-language.7.html#lists

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] Xcode source file type

2017-05-15 Thread Brad King
On 05/14/2017 05:42 PM, Gregor Jasny via cmake-developers wrote:
> I'd welcome any attempts to simplify the Xcode generator. But before I'd
> ack such a PR I'd like to know why this functionality was added in the
> first place. CMake still supports (does not actively break) Xcode 3. If
> there is no answer to that question: maybe you could test and limit your
> changes to a newer Xcode version (like 5 or above).

Run

```
$ git log -SlastKnownFileType -- Source/
```

to see a history for this setting.  Some investigation may be
needed to determine what is needed for current Xcode versions.
The setting could easily be made conditional on the Xcode version.

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] Does JOB_POOL_[COMPILE|LINK] work with custom_target?

2017-05-15 Thread Ben Boeckel
On Mon, May 15, 2017 at 11:46:37 +0200, Eric Noulard wrote:
> No answer whatsoever on this?

I don't think it is supported right now.

> I'd like to be able assign some custom targets to a ninja job pool.
> If I were to implement the feature would it be acceptable upstream ?

I think it'd be fine.

--Ben
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [CMake] [cmake-developers] Does JOB_POOL_[COMPILE|LINK] work with custom_target?

2017-05-15 Thread Ben Boeckel
On Mon, May 15, 2017 at 11:46:37 +0200, Eric Noulard wrote:
> No answer whatsoever on this?

I don't think it is supported right now.

> I'd like to be able assign some custom targets to a ninja job pool.
> If I were to implement the feature would it be acceptable upstream ?

I think it'd be fine.

--Ben
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [CMake] How to detect MSVC 2015 update 3 (= presence of /fpermissive-)

2017-05-15 Thread Konstantin Tokarev


15.05.2017, 15:57, "René J.V. Bertin" :
> Hello,
>
> A question that will hopefully have a quick/easy answer:
>
> I'd like to detect when the MSVC /fpermissive- (yes, that's a dash at the 
> end) can be used instead of /Za . I know that a later update bumped the 
> version to 14.0.25422.01 and thus undoubtedly _MSC_FULL_VER== 1402542201 in C 
> code so I could assume everyone keeps installs their updates and use that 
> value.

Have you tried CHECK_CXX_COMPILER_FLAG?

>
> But what does this translate to in CMake code (MSVC_VERSION)? Probably not 
> just 1903 I presume?
>
> Thanks,
> René
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at: 
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more 
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake

-- 
Regards,
Konstantin
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

[CMake] How to detect MSVC 2015 update 3 (= presence of /fpermissive-)

2017-05-15 Thread René J . V . Bertin
Hello,

A question that will hopefully have a quick/easy answer:

I'd like to detect when the MSVC /fpermissive- (yes, that's a dash at the end) 
can be used instead of /Za . I know that a later update bumped the version to 
14.0.25422.01 and thus undoubtedly _MSC_FULL_VER== 1402542201 in C code so I 
could assume everyone keeps installs their updates and use that value.

But what does this translate to in CMake code (MSVC_VERSION)? Probably not just 
1903 I presume?

Thanks,
René
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


[CMake] Link order and interface multiplicity

2017-05-15 Thread Etan Kissling
Heya,

I have a project with a layer consisting of interface libraries:
add_library(I INTERFACE)

These interface libraries are then implemented several times, to fit the 
different environments of applications:
add_library(IA STATIC ...)
target_link_libraries(IA PUBLIC I)

add_library(IB STATIC ...)
target_link_libraries(IB PUBLIC I)

There are also application independent libraries, that make use of the 
interface libraries.
add_library(Foo STATIC ...)
target_link_libraries(Foo PUBLIC I)

add_library(Bar STATIC ...)
target_link_libraries(Bar PUBLIC I)

And finally, the application defines which implementation of the interface 
library layer is being used.
add_executable(ExeA ...)
target_link_libraries(ExeA Foo Bar IA)

add_executable(ExeB ...)
target_link_libraries(ExeB Foo Bar IB)


Luckily, this is okay, as long as IA is listed after Foo and Bar in the 
synthesized link command.

However, certain implementations of I make use of the application independent 
libraries again.
On these environments, the link command line becomes something like this:
IA Foo Bar

While it should be
Foo Bar IA Foo Bar

This make sense, because there is no explicit dependency being described that 
Foo / Bar depend on IA while compiling ExeA.
In the simple case, we just get lucky, because it happens to be the default 
that link command line has the same order as in the target_link_libraries call.

I'm working with gcc-arm-none-eabi cross compiler. Here's what I've tried:
• LINK_INTERFACE_MULTIPLICITY 
Does not seem to work. The generated command line is still the same 
even with higher numbers.
• set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--start-group")
Linking succeeds, but the program does not run properly on the target 
hardware. Only after connecting a debugger and resetting, it runs. Strange 
behaviour.
When I link Foo / Bar explicitly with IA instead of --start-group, the 
command line becomes Foo Bar IA Foo Bar, and then everything works fine. But I 
cannot do this in general, because of ExeB ^^


=> Is there a way how I can define that Foo / Bar temporarily depend on IA 
while compiling ExeA, and temporarily depend on IB while compiling ExeB?
=> Is there a different approach on how to handle project structured like the 
one described above?

Thanks

Etan
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [CMake] Does JOB_POOL_[COMPILE|LINK] work with custom_target?

2017-05-15 Thread Eric Noulard
Hi all,
No answer whatsoever on this?

Initial contributor of Ninja job pool appears to be Peter Kümmel:
commit 7605e37aabae2678e5696a75e84aced2e84f9037
Author: Peter Kümmel 
Date:   Sat Nov 23 10:49:36 2013 +0100


I'd like to be able assign some custom targets to a ninja job pool.
If I were to implement the feature would it be acceptable upstream ?

Eric

2017-05-05 16:16 GMT+02:00 Eric Noulard :

> Hi all,
>
> We have a bunch of custom_target and a subset of them should be run in
> sequence.
> So we tried to define:
>
> set_property(GLOBAL PROPERTY JOB_POOLS exclusive=1)
>
> and then:
>
> set_property(TARGET my_custom_target PROPERTY JOB_POOL_COMPILE exclusive)
> set_property(TARGET my_custom_target PROPERTY JOB_POOL_LINK exclusive)
>
>
> This does not seem to reach build.ninja ?
>
> The new pool is defined but the concerned custom targets are never
> assigned to the pool?
>
> May custom target be assigned to a ninja pool?
> If so how can we do that?
> --
> Eric
>



-- 
Eric
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [cmake-developers] Does JOB_POOL_[COMPILE|LINK] work with custom_target?

2017-05-15 Thread Eric Noulard
Hi all,
No answer whatsoever on this?

Initial contributor of Ninja job pool appears to be Peter Kümmel:
commit 7605e37aabae2678e5696a75e84aced2e84f9037
Author: Peter Kümmel 
Date:   Sat Nov 23 10:49:36 2013 +0100


I'd like to be able assign some custom targets to a ninja job pool.
If I were to implement the feature would it be acceptable upstream ?

Eric

2017-05-05 16:16 GMT+02:00 Eric Noulard :

> Hi all,
>
> We have a bunch of custom_target and a subset of them should be run in
> sequence.
> So we tried to define:
>
> set_property(GLOBAL PROPERTY JOB_POOLS exclusive=1)
>
> and then:
>
> set_property(TARGET my_custom_target PROPERTY JOB_POOL_COMPILE exclusive)
> set_property(TARGET my_custom_target PROPERTY JOB_POOL_LINK exclusive)
>
>
> This does not seem to reach build.ninja ?
>
> The new pool is defined but the concerned custom targets are never
> assigned to the pool?
>
> May custom target be assigned to a ninja pool?
> If so how can we do that?
> --
> Eric
>



-- 
Eric
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

[cmake-developers] Wrongly assuming lib/ is IsImplicitDirectory for runtime-paths

2017-05-15 Thread Patrick Boettcher
Hi list,

This is a follow-up of my problem I discussed with myself on the
cmake-mailing list: "CLANG vs GCC when linking executables".

I found the root-cause of this problem:

When constructing the rpath-arguments cmake is using an
cmOrderDirectories called OrderLinkerSearchPath to which all
the runtime-libraries via AddRuntimeLibrary() have been added.

In AddRuntimeLibrary() it checks whether the library-path is an
implicit directory.

To this list somewhere the lib/-path located next to the
compiler-bin/-path has been added.

This works well if the compiler is installed in /usr/bin
because /usr/lib is present in the system's loader-configuration.

In my case I have locally built a compiler and in the lib/-dir next to
the bin/-dir I installed other libraries. When now linking with one of
them (via an IMPORTED library), cmake does not add the rpath because it
assumes lib/ is implicitly used by the loader (or something else?).

What can I do? Is this a bug in cmake or in my setup? Why is this path
considered implicit?

best regards,
--
Patrick.
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers