[cmake-developers] nvidia nsight tegra set vcxproj properties (Ant Build) in cmake file

Peter List pem.list at gmail.com
Fri Aug 28 01:45:03 EDT 2015


A related but different issue...  I tried adding this to my CMakeLists.txt:

set(CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES zzz)
set(CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES yyy)

But cmake 3.1.1 release does not add the expected properties to my
vcxproj.  In fact, the strings "zzz" and "yyy" are not found in my vcxproj
file.

So I tried a nightly build, but I got a different error - full text pasted
below

Looks like cmake is doing some sanity check by building a simple test
program, but link fails with cannot find -l-Wl,-Bdynamic.

Maybe "cmake-3.3.20150826-g566f1-win32-x86" isn't ready yet?

Btw I'm using AndroidWorks-1R2-win.exe
+ NVIDIA_Nsight_Tegra_Release_3.1.15202.6244.exe, so another guess is that
maybe it's a compatibility issue...  Like I have to use a particular
version of nsight with a particular version of cmake

thank you for any leads,
Peter

...
...
...

> "C:\Program Files (x86)\cmake-3.3.20150826-g566f1-win32-x86\bin\cmake"
-G"Visual Studio 10 2010" -DCMAKE_SYSTEM_NAME="Android"  ..\pemDemos

-- The C compiler identification is GNU 4.9.0
-- The CXX compiler identification is GNU 4.9.0
-- Check for working C compiler using: Visual Studio 10 2010
-- Check for working C compiler using: Visual Studio 10 2010 -- broken
CMake Error at C:/Program Files
(x86)/cmake-3.3.20150826-g566f1-win32-x86/share/cmake-3.3/Modules/CMakeTestCCompiler.cmake:61
(message):
  The C compiler

"C:/Programs/NVPACK/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc.exe"
  is not able to compile a simple test program.
  It fails with the following output:
   Change Dir:
H:/Pem_Code/grfxdemossdl2015/pemDemos/build-android-vs2010/CMakeFiles/CMakeTmp
  Run Build
  Command:"C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe"
  "cmTC_84fb1.vcxproj" "/p:Configuration=Debug"
"/p:VisualStudioVersion=10.0"
  Microsoft (R) Build Engine version 4.6.79.0
  [Microsoft .NET Framework, version 4.0.30319.42000]
  Copyright (C) Microsoft Corporation.  All rights reserved.
  Build started 8/28/2015 12:35:31 AM.

  Project

"H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\cmTC_84fb1.vcxproj"
  on node 1 (default targets).

  PrepareForBuild:

    Creating directory "cmTC_84fb1.dir\Debug\".
    Creating directory
"H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\Debug\".

  InitializeBuildStatus:

    Creating "cmTC_84fb1.dir\Debug\cmTC_84fb1.unsuccessfulbuild" because
"AlwaysCreate" was specified.

  ClCompile:


C:\Programs\NVPACK\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-g++.exe
    testCCompiler.c

  C:\Program Files
  (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5):
warning
  MSB8012: TargetExt(.) does not match the Linker's OutputFile property
value
  ().  This may cause your project to build incorrectly.  To correct this,
  please make sure that $(OutDir), $(TargetName) and $(TargetExt) property
  values match the value specified in %(Link.OutputFile).

[H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\cmTC_84fb1.vcxproj]


  Link:


C:\Programs\NVPACK\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-g++.exe
cmTC_84fb1.dir
Debug/testCCompiler.o  -Wl,-soname,cmTC_84fb1. -shared
--sysroot=C:/Programs/NVPACK/android-ndk-r10e/platforms/android-9/arch-arm
-Wl,-rpath-link=C:/
rograms/NVPACK/android-ndk-r10e/platforms/android-9/arch-arm/usr/lib
"-l-Wl,-Bdynamic" -fuse-ld=bfd -Wl,--no-undefined -Wl,-z,noexecstack
-Wl,-z,relr
 -Wl,-z,now
-L"C:/Programs/NVPACK/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9/arm
7-a"
-L"C:/Programs/NVPACK/android-ndk-r10e/platforms/android-9/arch-arm/usr/lib"
-L"C:/Programs/NVPACK/android-ndk-r10e/sources/cxx-stl/gnu-libstdc+
/4.9/libs/armeabi-v7a"
-L"C:/Programs/NVPACK/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androide
bi/4.9/armv7-a"
"C:/Programs/NVPACK/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/libgnustl_static.a"
-lc -lm -llog -lgcc -oH:/
em_Code/grfxdemossdl2015/pemDemos/build-android-vs2010/CMakeFiles/CMakeTmp/Debug/cmTC_84fb1.

c:/programs/nvpack/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../.
/../arm-linux-androideabi/bin/ld.bfd.exe: cannot find -l-Wl,-Bdynamic

  collect2.exe : error : ld returned 1 exit status

[H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\cmTC_84fb1.vcxproj]


  Done Building Project

"H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\cmTC_84fb1.vcxproj"
  (default targets) -- FAILED.



  Build FAILED.





"H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\cmTC_84fb1.vcxproj"
  (default target) (1) ->

  (DoLinkOutputFilesMatch target) ->

    C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning
MSB8012: TargetExt(.) does not match the Linker's Ou
putFile property value (). This may cause your project to build
incorrectly. To correct this, please make sure that $(OutDir),
$(TargetName) and $(Ta
getExt) property values match the value specified in %(Link.OutputFile).
[H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles
CMakeTmp\cmTC_84fb1.vcxproj]







"H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\cmTC_84fb1.vcxproj"
  (default target) (1) ->

  (Link target) ->

    collect2.exe : error : ld returned 1 exit status
[H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010\CMakeFiles\CMakeTmp\cmTC_84fb1
vcxproj]



      1 Warning(s)
      1 Error(s)



  Time Elapsed 00:00:00.91





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:1 (project)


-- Configuring incomplete, errors occurred!
See also
"H:/Pem_Code/grfxdemossdl2015/pemDemos/build-android-vs2010/CMakeFiles/CMakeOutput.log".
See also
"H:/Pem_Code/grfxdemossdl2015/pemDemos/build-android-vs2010/CMakeFiles/CMakeError.log".

H:\Pem_Code\grfxdemossdl2015\pemDemos\build-android-vs2010>





On Thu, Aug 27, 2015 at 11:50 PM, Peter List <pem.list at gmail.com> wrote:

> vs2010 works for my CMakeLists.txt:
>
> > cmake -G"Visual Studio 10 2010" -DCMAKE_SYSTEM_NAME="Android"
>  ..\pemDemos
> -- The C compiler identification is GNU 4.9.0
> -- The CXX compiler identification is GNU 4.9.0
> -- Check for working C compiler using: Visual Studio 10 2010
> -- Check for working C compiler using: Visual Studio 10 2010 -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler using: Visual Studio 10 2010
> -- Check for working CXX compiler using: Visual Studio 10 2010 -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> CMAKE_SYSTEM_NAMEAndroid
> -- Configuring done
> -- Generating done
> -- Build files have been written to:
> H:/Pem_Code/hobby/grfxdemossdl2015/pemDemos/build-android-vs2010
>
> However, vs2013 does not:
>
> > cmake -G"Visual Studio 12 2013" -DCMAKE_SYSTEM_NAME="Android"
>  ..\pemDemos
> -- The C compiler identification is unknown
> -- The CXX compiler identification is unknown
> CMake Error at CMakeLists.txt:1 (project):
>   No CMAKE_C_COMPILER could be found.
> CMake Error at CMakeLists.txt:1 (project):
>   No CMAKE_CXX_COMPILER could be found.
>
> This is with the stable release of cmake 3.1.1
>
> I also tried a nightly build ( http://www.cmake.org/files/dev/?C=M;O=D )
> -> cmake-3.3.20150826-g566f1-win32-x86, and it gives the same error.
>
> best regards,
> Peter
>
>
>
>
> On Thu, Aug 27, 2015 at 12:52 PM, Dmitry Polyanitsa <
> dpolyanitsa at nvidia.com> wrote:
>
>> I’m glad you like it J BTW generating for VS2013 + Nsight Tegra should
>> already be supported in CMake. Support for VS2015 will be added to Nsight
>> Tegra in the next release.
>>
>>
>>
>> -Dmitry
>>
>>
>>
>> *From:* Peter List [mailto:pem.list at gmail.com]
>> *Sent:* Thursday, August 27, 2015 1:36 AM
>> *To:* Dmitry Polyanitsa <dpolyanitsa at nvidia.com>
>> *Cc:* cmake-developers at cmake.org
>> *Subject:* Re: [cmake-developers] nvidia nsight tegra set vcxproj
>> properties (Ant Build) in cmake file
>>
>>
>>
>> Awesome - in that case I'll use this built-in support instead of spending
>> time on writing a python script to call from add_custom_command().
>>
>>
>>
>> It's not officially documented yet ( http://bit.ly/1MOzB0S ), but I can
>> use the link you sent ( http://bit.ly/1UdL3nc ) for documentation.
>>
>>
>>
>> I'm not sure whether this is in the CMake 3.3.1 release, but if not then
>> I can try a nightly build:
>>
>>
>>
>> http://www.cmake.org/download/ -> http://www.cmake.org/files/dev/?C=M;O=D
>> -> cmake-3.3.20150824-ga3d05-win32-x86.exe
>>
>>
>>
>> Or if that doesn't work, then maybe I'll wait a few days and try a newer
>> nightly build :-)
>>
>>
>>
>> thank you,
>>
>> Peter
>>
>>
>>
>> PS: I love this built-in (nvidia tegra nsight + visual studio 2010)
>> support...  Some similar things that would also be awesome as built-in
>> support are...  nvidia tegra nsight + visual studio 2013, 2015.  nmake +
>> Android Studio (Windows, Mac, Linux).  iOS + XCode.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Wed, Aug 26, 2015 at 7:15 AM, Dmitry Polyanitsa <
>> dpolyanitsa at nvidia.com> wrote:
>>
>> Hi Peter,
>>
>>
>>
>> Note the commit Brad mentioned in another thread:
>>
>> > VS: Add more Nsight Tegra generator Android property settings
>>
>> > http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8c0afaf4
>>
>>
>>
>> It adds the ability to set both Native Library Directories and Native
>> Library Dependencies, among other things. Thanks for the link to the forum
>> post, by the way – we forgot to update it and will do that now.
>>
>>
>>
>> -Dmitry
>>
>>
>>
>> *From:* cmake-developers [mailto:cmake-developers-bounces at cmake.org] *On
>> Behalf Of *Peter List
>> *Sent:* Wednesday, August 26, 2015 5:06 AM
>> *To:* cmake-developers at cmake.org
>> *Subject:* [cmake-developers] nvidia nsight tegra set vcxproj properties
>> (Ant Build) in cmake file
>>
>>
>>
>> I have a working hello world cmake + built-in Android using nvidia nsight
>> tegra.  It uses SDL2.
>>
>>
>>
>> Unfortunately, after I run cmake I have to manually edit the following in
>> my vcxproj to add SDL2:
>>
>>
>>
>> Configuration Properties > Ant Build > Native Library Directories, Native
>> Library Dependencies
>>
>>
>>
>> I found this post ( http://bit.ly/1NTgTE3 ) from May 5th (3 months 20
>> days ago) describing the same issue.  Is there an ETA on this?
>>
>>
>>
>> Since this isn't out yet, is there a work-around I can do instead?  So
>> far my best idea is to have cmake use add_custom_command() as a post-build
>> step to call a python script that edits the vcxproj file XML.
>>
>>
>>
>>     <AntBuild>
>>
>>       <AntBuildPath>[path]\build-android\android-project</AntBuildPath>
>>
>>
>> <AndroidManifestLocation>[path]\build-android\android-project\AndroidManifest.xml</AndroidManifestLocation>
>>
>>
>> <NativeLibDirectories>../../../SDL2-2.0.3/libs/armeabi-v7a</NativeLibDirectories>
>>
>>       <NativeLibDependencies>SDL2</NativeLibDependencies>
>>
>>     </AntBuild>
>>
>>
>>
>> thank you
>>
>>
>> ------------------------------
>>
>> This email message is for the sole use of the intended recipient(s) and
>> may contain confidential information.  Any unauthorized review, use,
>> disclosure or distribution is prohibited.  If you are not the intended
>> recipient, please contact the sender by reply email and destroy all copies
>> of the original message.
>> ------------------------------
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150828/937c58f2/attachment-0001.html>


More information about the cmake-developers mailing list