[cmake-developers] [CMake 0015785]: Support "generator expressions" in "install(CODE)"

2015-10-13 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
https://public.kitware.com/Bug/view.php?id=15785 
== 
Reported By:SunBlack
Assigned To:
== 
Project:CMake
Issue ID:   15785
Category:   CMake
Reproducibility:always
Severity:   feature
Priority:   normal
Status: new
== 
Date Submitted: 2015-10-13 02:59 EDT
Last Modified:  2015-10-13 02:59 EDT
== 
Summary:Support "generator expressions" in "install(CODE)"
Description: 
With CMake 3.4 "install(FILES)" and "install(DIRECTORY)" learned to support
"generator expressions" in command "DESTINATION". But it would be helpful if
"install(CODE)" support "generator expressions" too.

An usecase could be:

INSTALL(CODE "
   include(BundleUtilities)
   fixup_bundle($ \"\" \"\")
   " COMPONENT Runtime
)

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-10-13 02:59 SunBlack   New Issue
==

-- 

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] BUILD_TESTING when cross compiling

2015-10-13 Thread Brad King
On 10/13/2015 01:17 AM, Geoffrey Viola wrote:
> Tests/CMakeLists.txt
[snip]
> run when it won't be able to run the code on the host machine?

Many of the tests end with a step that verifies that a built
executable can run.  Several tests build tools that generate
sources.  In both cases we expect to be testing for the host.

> What is the best way to make CTest run those tests with the
> GHS MULTI generator and not the default one?

One can configure CMake with

  -G 
  -D CMake_TEST_EXTERNAL_CMAKE=c:/path/to/cmake-build/bin/Debug

to tell it to run the test suite using the "cmake" tool in the
given directory.  That will test with the given generator instead
of trying to build CMake with it.

Some work would be needed to make this work for cross-compiling.
Essentially the tests of interest need to be ported to avoid
running anything on the host.

-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] GHS MULTI generator link with RUNTIME_OUTPUT_DIRECTORY patch

2015-10-13 Thread Brad King
On 10/13/2015 01:06 AM, Geoffrey Viola wrote:
> Attached is a patch to allow the GHS MULTI
[snip]
> +  const char* runtimeOutputDir =
> +tg->GetProperty("RUNTIME_OUTPUT_DIRECTORY");

The generator should not have to deal with such properties directly.
There are internal APIs to get the output locations.  The have been
on cmTarget but are currently being moved to cmGeneratorTarget.  See
other generators for use of things like GetFullPath.

-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-developers] [CMake 0015787]: Please add note about change to 3.4 release notes

2015-10-13 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
https://cmake.org/Bug/view.php?id=15787 
== 
Reported By:James Crosby
Assigned To:
== 
Project:CMake
Issue ID:   15787
Category:   CMake
Reproducibility:N/A
Severity:   major
Priority:   urgent
Status: new
== 
Date Submitted: 2015-10-13 08:31 EDT
Last Modified:  2015-10-13 08:31 EDT
== 
Summary:Please add note about  change to 3.4
release notes
Description: 
CMake 3.4 includes this change:
https://github.com/Kitware/CMake/commit/c736de7b284ecc93bac48106e88417e0e6c92ad6
which splits out  from  in the CMAKE_C_COMPILE_OBJECT command.

All toolchain descriptions which override this command need to be updated to
work correctly with CMake 3.4, but this is not clearly documented anywhere, it
seems like it should be a major item in the release notes!
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-10-13 08:31 James Crosby   New Issue
==

-- 

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] [CMake 0015786]: FindMatlab / matlab_add_mex does not work with 64-bit Matlab Version - Version detected as 32-bit Matlab

2015-10-13 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
https://public.kitware.com/Bug/view.php?id=15786 
== 
Reported By:Kerstin Keller
Assigned To:
== 
Project:CMake
Issue ID:   15786
Category:   Modules
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2015-10-13 07:32 EDT
Last Modified:  2015-10-13 07:32 EDT
== 
Summary:FindMatlab / matlab_add_mex does not work with
64-bit Matlab Version - Version detected as 32-bit Matlab
Description: 
I have installed a 64bit Matlab Version (2015a) and CMake 3.3.2. 
When writing a simple CMakeLists.txt script

cmake_minimum_required(VERSION 3.3)
project(easy_example)
find_package(MATLAB REQUIRED)

include_directories(Matlab_INCLUDE_DIRS)

matlab_add_mex(
  NAME easy_example
  SRC easy_example.cpp
)

It cannot find the mex library. The Output is

-- Could NOT find Matlab (missing:  Matlab_MEX_LIBRARY) (found version "8.5")
CMake Error: The following variables are used in this project, but they are set
to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake
files:
Matlab_MEX_LIBRARY
linked by target "easy_example" in directory
D:/SourceCode/Matlab/easy_example
-- Configuring incomplete, errors occurred!


Steps to Reproduce: 
Try to run 

find_package(MATLAB REQUIRED)

and then use

matlab_add_mex(
...
)

with a 64-bit Matlab Version.

Additional Information: 
Digging a little into the FindMatlab.cmake script, and outputted the directories
where it searches for the directories (l.1342).

message(STATUS "The include dir ${MATLAB_INCLUDE_DIR_TO_LOOK}")
message(STATUS "The library dir ${_matlab_lib_dir_for_search}")

This gives me the following Output

-- The include dir C:/LegacyApp/Matlab15a/R2015a_64bit/extern/include
-- The library dir
C:/LegacyApp/Matlab15a/R2015a_64bit/extern/lib/win32/microsoft

However, as my Matlab Version is 64bit, it library dir should be 
C:/LegacyApp/Matlab15a/R2015a_64bit/extern/lib/win64/microsoft

This can be traced back to line 1276, where I added another message Output:
if(_matlab_64Build)
  set(_matlab_current_suffix ${_matlab_bin_suffix_64bits})
  message(STATUS "64bit Matlab")
else()
  set(_matlab_current_suffix ${_matlab_bin_suffix_32bits})
  message(STATUS "32bit Matlab")
endif()

CMake falsely detects a 32bit Matlab Version
-- 32bit Matlab

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-10-13 07:32 Kerstin Keller New Issue
==

-- 

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] ITK NIfTI broken Oct 6

2015-10-13 Thread Brad King
On 10/12/2015 01:48 PM, Stephen Kelly wrote:
>  Subdirs: Initialize from parent before configuring.
>  https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7dac31b2

It seems that problem was covering another one:

 CMake Error: File 
/.../Modules/ThirdParty/GDCM/src/gdcm/Source/gdcmByteValue.cxx does not exist.
 CMake Error at 
Modules/ThirdParty/GDCM/src/gdcm/Source/DataStructureAndEncodingDefinition/CMakeLists.txt:27
 (configure_file):
   configure_file Problem configuring file

The actual source file that exists is:

 
Modules/ThirdParty/GDCM/src/gdcm/Source/DataStructureAndEncodingDefinition/gdcmByteValue.cxx

The configure_file call is:

 configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/${src}
${CMAKE_CURRENT_BINARY_DIR}/strict_${src}
COPYONLY
)

Therefore we see that CMAKE_CURRENT_SOURCE_DIR is incorrectly set.
This CMakeLists.txt file is again entered by the subdirs() command
in the parent directory.

Bisecting this required cherry-picking the above fix onto every
version tested.  However, the result points to:

 Set the current dirs on the snapshot before creating the cmMakefile.
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=360e4e1d

as the culprit.

-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-developers] [CMake 0015788]: Error during export target, which has additional defined include directories with target_include_directories

2015-10-13 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
https://public.kitware.com/Bug/view.php?id=15788 
== 
Reported By:SunBlack
Assigned To:
== 
Project:CMake
Issue ID:   15788
Category:   CMake
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2015-10-13 11:47 EDT
Last Modified:  2015-10-13 11:47 EDT
== 
Summary:Error during export target, which has additional
defined include directories with target_include_directories
Description: 
If you have a static library and want to add necessary include directories with
target_include_directories so users of this library just need to add library
with target_link_libraries (and don't need to add includes with
include_directories), I currently got

%%Configuring done
CMake Error in CMakeLists.txt:
  Target "myProject" INTERFACE_INCLUDE_DIRECTORIES property contains path:

"D:/myProjectDir/myIncludeDir"

  which is prefixed in the source directory.


Generating done%%

Source code:
%%cmake_minimum_required(VERSION 3.3)

project(myProject)

add_library(${PROJECT_NAME}
mySourceDir/test.cpp
myIncludeDir/test.h
)

target_include_directories(${PROJECT_NAME} PUBLIC "myIncludeDir")

install(TARGETS ${PROJECT_NAME}
EXPORT MyTargets
ARCHIVE DESTINATION lib
)

install(EXPORT MyTargets DESTINATION cmake)%%

This message don't occurs, if I remove install.

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2015-10-13 11:47 SunBlack   New Issue
==

-- 

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] genex-generator-objects topic

2015-10-13 Thread Brad King
Steve,

Last night's RunCMake.include test failures bisect to:

 cmMakefile: Store container of cmExportBuildFileGenerators.
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5925f99c

A clang sanitizer build output is below.  Please take a look.

Thanks,
-Brad


WRITE of size 8 at 0x611aee80 thread T0
#0 0xcfeff3 in cmExportBuildFileGenerator::Compute(cmLocalGenerator*) 
/.../Source/cmExportBuildFileGenerator.cxx:29:12
#1 0xeb18a4 in cmGlobalGenerator::ComputeBuildFileGenerators() 
/.../Source/cmGlobalGenerator.cxx:1238:7
#2 0xeb1c6d in cmGlobalGenerator::Compute() 
/.../Source/cmGlobalGenerator.cxx:1272:3
#3 0xa2cac5 in cmake::Generate() /.../Source/cmake.cxx:1609:8
#4 0xa28abd in cmake::Run(std::vector const&, bool) /.../Source/cmake.cxx:1596:9
#5 0x7809bc in do_cmake(int, char const* const*) 
/.../Source/cmakemain.cxx:330:13
#6 0x77e002 in main /.../Source/cmakemain.cxx:190:13
#7 0x7f7185ab2ec4 in __libc_start_main 
/build/buildd/eglibc-2.19/csu/libc-start.c:287
#8 0x6b5e57 in _start (/home/kitware/My 
Builds/cmake-build-clang/bin/cmake+0x6b5e57)

0x611aee80 is located 192 bytes inside of 200-byte region 
[0x611aedc0,0x611aee88)
freed by thread T0 here:
#0 0x77bab0 in operator delete(void*) 
/projects/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:94
#1 0xd04441 in cmExportBuildFileGenerator::~cmExportBuildFileGenerator() 
/.../Source/cmExportBuildFileGenerator.h:29:7
#2 0xe9a810 in cmGlobalGenerator::GenerateImportFile(std::string const&) 
/.../Source/cmGlobalGenerator.cxx:237:5
#3 0xbbe513 in cmIncludeCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmIncludeCommand.cxx:130:5
#4 0xb5a963 in cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#5 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) /.../Source/cmMakefile.cxx:321:11
#6 0x8517fb in cmMakefile::ReadListFile(cmListFile const&, std::string 
const&) /.../Source/cmMakefile.cxx:627:5
#7 0x861379 in cmMakefile::Configure() /.../Source/cmMakefile.cxx:1683:3
#8 0x861eef in cmMakefile::ConfigureSubDirectory(cmMakefile*) 
/.../Source/cmMakefile.cxx:1746:3
#9 0x862d97 in cmMakefile::AddSubDirectory(std::string const&, std::string 
const&, bool, bool) /.../Source/cmMakefile.cxx:1785:5
#10 0xac8f74 in 
cmAddSubDirectoryCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmAddSubDirectoryCommand.cxx:124:3
#11 0xb5a963 in 
cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#12 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) /.../Source/cmMakefile.cxx:321:11
#13 0x8517fb in cmMakefile::ReadListFile(cmListFile const&, std::string 
const&) /.../Source/cmMakefile.cxx:627:5
#14 0x850bff in cmMakefile::ReadDependentFile(char const*, bool) 
/.../Source/cmMakefile.cxx:537:3
#15 0xbbe794 in cmIncludeCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmIncludeCommand.cxx:146:5
#16 0xb5a963 in 
cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#17 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) /.../Source/cmMakefile.cxx:321:11
#18 0x8517fb in cmMakefile::ReadListFile(cmListFile const&, std::string 
const&) /.../Source/cmMakefile.cxx:627:5
#19 0x861379 in cmMakefile::Configure() /.../Source/cmMakefile.cxx:1683:3
#20 0xea61e2 in cmGlobalGenerator::Configure() 
/.../Source/cmGlobalGenerator.cxx:1126:3
#21 0xa26b6b in cmake::ActualConfigure() /.../Source/cmake.cxx:1418:3
#22 0xa2484c in cmake::Configure() /.../Source/cmake.cxx:1201:13
#23 0xa28a82 in cmake::Run(std::vector const&, bool) /.../Source/cmake.cxx:1575:13
#24 0x7809bc in do_cmake(int, char const* const*) 
/.../Source/cmakemain.cxx:330:13
#25 0x77e002 in main /.../Source/cmakemain.cxx:190:13
#26 0x7f7185ab2ec4 in __libc_start_main 
/build/buildd/eglibc-2.19/csu/libc-start.c:287

previously allocated by thread T0 here:
#0 0x77b470 in operator new(unsigned long) 
/projects/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62
#1 0xc5300c in cmExportCommand::InitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmExportCommand.cxx:212:38
#2 0xb5a963 in cmCommand::InvokeInitialPass(std::vector const&, cmExecutionStatus&) 
/.../Source/cmCommand.h:68:12
#3 0x84dadc in cmMakefile::ExecuteCommand(cmListFileFunction const&, 
cmExecutionStatus&) 

Re: [cmake-developers] Generating buildsystem metadata from CMake

2015-10-13 Thread Stephen Kelly
Alexander Neundorf wrote:

> Maybe this is of interest: the Eclipse CDT developers are currently
> working on improved support for cmake:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=350206
> http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg29621.html

Yes, I noticed that too a few days ago.

My work should make reading the CMakeLists.txt file not necessary, as they 
seem to intend to do.

I'll ping them when I have something to show.

Thanks,

Steve.


-- 

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] genex-generator-objects topic

2015-10-13 Thread Stephen Kelly
Brad King wrote:

> Steve,
> 
> Last night's RunCMake.include test failures bisect to:
> 
>  cmMakefile: Store container of cmExportBuildFileGenerators.
>  https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5925f99c
> 
> A clang sanitizer build output is below.  Please take a look.

Looks like unique_ptrs would really help.

I've fixed it up I think.

Thanks,

Steve.


-- 

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] ITK NIfTI broken Oct 6

2015-10-13 Thread Stephen Kelly
Brad King wrote:

> Therefore we see that CMAKE_CURRENT_SOURCE_DIR is incorrectly set.
> This CMakeLists.txt file is again entered by the subdirs() command
> in the parent directory.

What a mess...

Thanks for bisecting. I fixed this by pushing part of a branch which I was 
intending to start to merge soon anyway.

Thanks,

Steve.


-- 

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