discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Illegal CustomBuild for MSVC 18


From: Craig Easton
Subject: Re: [Discuss-gnuradio] Illegal CustomBuild for MSVC 18
Date: Mon, 15 Jun 2015 18:20:05 +0000

I've also been struggling with the gnu-radio build in Windows (GNURadio 3.7.7.1,  CMake 3.2.2, VisualStudio 12.0.31101.00 Update 4), and had the same problem. The illegal "" commands seem to be coming from the custom build steps for the ".rule" files in the projects starting with a "_" (e.g. _pmt_swig). In each of these projects there is a "CMAKE Rules" dir with ".rule" files that have "" in their custom build script.

I've found the learning curve for this build to be incredibly steep, I also have no real understanding of the gnu-radio build process or the authoring of CMake projects, but I managed to track this problem to the following stanza in \cmake\Modules\UseSWIG.cmake

  foreach(swig_gen_file ${${outfiles}})
    add_custom_command(
      OUTPUT ${swig_gen_file}
      COMMAND ""
      DEPENDS ${_target}
      COMMENT ""
    )
  endforeach()


It seems that if you put something in the COMMAND "" quotes it is passed into the custom build script without the quotes, but if you just put a pair of empty double quoates as above, you get the double quotes in the custom-build step and Visual Studio throws up the error. Removing or commenting-out the COMMAND "" line above (then doing a CMake configure and generate) seems to solve the problem.

I don't know enough about CMake to know whether this is a bug in CMake or a mistake in the GNURadio UseSWIG.cmake file, but I checked the latest commit in the gnu-radio repo and the COMMAND "" line is stil in the "UseSWIG.cmake" file. I also couldn't find an open bug report about this so I raised it as bug #799.

CE.


-------------------------------------------------------------------

I encountered the same problem.  No idea how to properly fix it,  For now, I just did a global replace in *.vcxproj for "" to nothing.  That worked and I was able to build everything.

________________________
Eugene Grayver, Ph.D.
Aerospace Corp., Sr. Eng. Spec.
Tel: 310.336.1274
________________________



From:        address@hidden
To:        address@hidden,
Date:        03/31/2015 09:01 AM
Subject:        Discuss-gnuradio Digest, Vol 148, Issue 34
Sent by:        address@hidden


-------------------------------------------------------------------


From: Gisle Vanem
Subject: [Discuss-gnuradio] Illegal CustomBuild for MSVC 18
Date: Tue, 31 Mar 2015 12:37:03 +0200
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 SeaMonkey/2.33.1

I have had some more success building Gr using MSVC v18
than MSVC v16 previously (nearly impossible). Besides the
high noise-level (due to cmake/msvc/config.h), the C++ building
seems fine.

But the build stops in 'build\gnuradio-runtime\swig'
at some CustomBuild/CustomCommand. Here is from the MSbuild
output:

  if %errorlevel% neq 0 goto :cmEnd
  :cmEnd
  endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
  :cmErrorLevel
  exit /b %1
  :cmDone
  if %errorlevel% neq 0 goto :VCEnd
  setlocal
  ""         << !! because of this
  if %errorlevel% neq 0 goto :cmEnd
  :cmEnd
  endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
  :cmErrorLevel
  exit /b %1
  :cmDone
  if %errorlevel% neq 0 goto :VCEnd
  setlocal
  ""
  if %errorlevel% neq 0 goto :cmEnd
  :cmEnd
  endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
  :cmErrorLevel
  exit /b %1
  :cmDone
  if %errorlevel% neq 0 goto :VCEnd
  Building Custom Rule
F:/gv/dx-radio/gnuradio-3.x/gnuradio-runtime/swig/CMakeLists.txt

  '""' is not recognized as an internal or external command,


What command in 'gnuradio-runtime\swig\CMakeLists.txt' could trigger this
illegal CMD batch snippet?

BTW. I generated the .sln/.vcxproj files by a script:
  setlocal
  cd build
  set OPT=-DCMAKE_CXX_COMPILER=cl -DCMAKE_C_COMPILER=cl ^
        -DCMAKE_CXX_COMPILER_ENV_VAR=-nologo -O2 -MD ^
        -DCMAKE_C_COMPILER_ENV_VAR=-nologo -O2 -MD ^
        -Wno-dev -DCMAKE_BUILD_TYPE="Release" -DENABLE_TESTING=1 ^
       
-DPORTAUDIO_LIBRARIES=%MINGW32%/src/Sound/Portaudio/lib/portaudio_static_x86.lib

  cmake %OPT% -G "Visual Studio 12 2013" ..
  ...

--
--gv

reply via email to

[Prev in Thread] Current Thread [Next in Thread]