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
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio