Re: [Oorexx-devel] Attempt on Windows (Re: How to build external functions using cmake
On 18.02.2019 17:22, Enrico Sorichetti via Oorexx-devel wrote: > Dear Rony > I am very happy that it was useful > > Looking at the status of variable for complex cmakelists > ( and I wrote a couple of them ) > Is usually the only way to debug cmakelists errors > > The vdump module was the first one I wrote a long time ago > To get a better knowledge of the cmake ways > > Using cmake -G should have caused different errors IIRC > > It tells to cmake which generator is being used, > ( I usually go with cmake -G Ninja … … … ) > So I do not see why it should meddle with the compiler options > > I will push an update to include the proper defaults for the c / c++ > compilers > ( obviously the msvc stuff will empty ) > > Just look at the README, I posted two different CMakeLists > A minimal and a platinum , the minimal does al that is needed with no frills Hmm, just see probably the "minimal" which is ideal for a newbie to CMake like myself! :) Researching about the exported symbols problem on Windows I ran around the following switch "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE", which solves the problem for the classic library problem. Now both Rexx scripts work: cmake -G "NMake Makefiles" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DOOREXX_INSTALL_PREFIX=%OOREXX_HOME_32% ..\rxSnippets ... nmake ... G:\oorexx.tmp\enrico\win32>rexx rxClassic rxClassicVersion at line 84' '1.0.0' 1.0.0 rxClassicWorker at line 103' Argc 0 rxClassicWorker at line 103' Argc 1 Argv 0 'A' rxClassicWorker at line 103' Argc 2 Argv 0 'A' Argv 1 'B' G:\oorexx.tmp\enrico\win32>rexx rxClassic rxClassicVersion at line 84' '1.0.0' 1.0.0 rxClassicWorker at line 103' Argc 0 rxClassicWorker at line 103' Argc 1 Argv 0 'A' rxClassicWorker at line 103' Argc 2 Argv 0 'A' Argv 1 'B' G:\oorexx.tmp\enrico\win32> This is really just *great*, thank you very much indeed! ---rony ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Attempt on Windows (Re: How to build external functions using cmake
On 18.02.2019 17:10, Rony G. Flatscher wrote: > A remark: forgot to delete the lines: > cl : Command line warning D9002 : ignoring unknown option '-g' > > Those warnings were issued, because I used "cmake -G ...", removing the "-G" > (from a very, very, > very old note) removed the warning in my second runs. So please ignore them > in my previous > posting, there are not there anymore. > Rechecking. CMake: the "-G" switch is necessary. Doing a fresh run after removing the previous win32 directory does not show the above warnings anymore: G:\oorexx.tmp\enrico\win32>cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DOOREXX_INSTALL_PREFIX=%OOREXX_HOME_32% ..\rxSnippets -- The C compiler identification is MSVC 19.0.24215.1 -- The CXX compiler identification is MSVC 19.0.24215.1 -- Check for working C compiler: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- Check for working C compiler: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- 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: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- Check for working CXX compiler: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Check if the system is big endian -- Searching 16 bit integer -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of unsigned short -- Check size of unsigned short - done -- Using unsigned short -- Check if the system is big endian - little endian -- -- configuration summary for project 'rxSnippets' -- -- version string .. : 1.0.0 -- build ... : 0 -- revision : Final -- RCS . : - -- -- requires libraries .. : rexx;rexxapi -- found . : rexx - -- : rexxapi - -- -- build type .. : RELEASE -- word size ... : 32 -- platform : LITTLE ENDIAN -- install prefix .. : C:/Program Files (x86)/dummy -- -- CMake version ... : 3.12.0-rc3 -- CMake modules path .. : G:/oorexx.tmp/enrico/rxSnippets -- : G:/oorexx.tmp/enrico/rxSnippets/cmake/Modules -- -- -- generator ... : NMake Makefiles -- generator program ... : nmake - -- -- enabled languages ... : C;CXX;RC -- -- C compiler : E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- C compiler ID . : MSVC -- C compiler VERSION : 19.0.24215.1 -- C compiler flags .. :-O2 -DNDEBUG -- -- CXX compiler : E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- CXX compiler ID . : MSVC -- CXX compiler VERSION : 19.0.24215.1 -- CXX compiler flags .. : -O2 -DNDEBUG -- -- RC compiler : C:/Program Files (x86)/Windows Kits/8.1/bin/x86/rc.exe -- RC compiler ID . : -- RC compiler VERSION : -- RC compiler flags .. : -- -- compile definitions . : VERSION_STRING="1.0.0" -- -- include directories . : G:/oorexx.tmp/enrico/win32 -- : e:/DropBox/Dropbox/xfer/orx/beta/sandbox_ooRexx/standalone/ooRexx32win/include -- : G:/oorexx.tmp/enrico/rxSnippets/src/include -- -- user options : -- -- end of configuration summary -- -- Configuring done -- Generating done -- Build files have been written to: G:/oorexx.tmp/enrico/win32 G:\oorexx.tmp\enrico\win32>nmake Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation. All rights reserved. Scanning dependencies of target rxClassic [ 25%] Building C object CMakeFiles/rxClassic.dir/src/rxClassic.c.obj cl : Command line warning D9002 : ignoring unknown option '-g' rxClassic.c [ 50%] Linking C shared library rxClassic.dll [ 50%] Built target rxClassic Scanning dependencies of targ
Re: [Oorexx-devel] Attempt on Windows (Re: How to build external functions using cmake
Dear Rony I am very happy that it was useful Looking at the status of variable for complex cmakelists ( and I wrote a couple of them ) Is usually the only way to debug cmakelists errors The vdump module was the first one I wrote a long time ago To get a better knowledge of the cmake ways Using cmake -G should have caused different errors IIRC It tells to cmake which generator is being used, ( I usually go with cmake -G Ninja … … … ) So I do not see why it should meddle with the compiler options I will push an update to include the proper defaults for the c / c++ compilers ( obviously the msvc stuff will empty ) Just look at the README, I posted two different CMakeLists A minimal and a platinum , the minimal does al that is needed with no frills Cheers E > On 18 Feb 2019, at 17:07, Rony G. Flatscher wrote: > > Also, *very* interesting (but to an extend overwhelming) the generated > "vars_for_main_at_.txt" file in the build directory! > > ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Attempt on Windows (Re: How to build external functions using cmake
A remark: forgot to delete the lines: cl : Command line warning D9002 : ignoring unknown option '-g' Those warnings were issued, because I used "cmake -G ...", removing the "-G" (from a very, very, very old note) removed the warning in my second runs. So please ignore them in my previous posting, there are not there anymore. ---rony ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
[Oorexx-devel] Attempt on Windows (Re: How to build external functions using cmake
Tried it on Windows: G:\oorexx.tmp\enrico\win32>call "e:\Programme\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 -- The C compiler identification is MSVC 19.0.24215.1 -- The CXX compiler identification is MSVC 19.0.24215.1 -- Check for working C compiler: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- Check for working C compiler: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- 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: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- Check for working CXX compiler: E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Check if the system is big endian -- Searching 16 bit integer -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of unsigned short -- Check size of unsigned short - done -- Using unsigned short -- Check if the system is big endian - little endian -- -- configuration summary for project 'rxSnippets' -- -- version string .. : 1.0.0 -- build ... : 0 -- revision : Final -- RCS . : - -- -- requires libraries .. : rexx;rexxapi -- found . : rexx - -- : rexxapi - -- -- build type .. : Debug -- word size ... : 32 -- platform : LITTLE ENDIAN -- install prefix .. : C:/Program Files (x86)/dummy -- -- CMake version ... : 3.12.0-rc3 -- CMake modules path .. : G:/oorexx.tmp/enrico/rxSnippets -- : G:/oorexx.tmp/enrico/rxSnippets/cmake/Modules -- -- -- generator ... : NMake Makefiles -- generator program ... : nmake - -- -- enabled languages ... : C;CXX;RC -- -- C compiler : E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- C compiler ID . : MSVC -- C compiler VERSION : 19.0.24215.1 -- C compiler flags .. : -g -DDEBUG -- -- CXX compiler : E:/Programme/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- CXX compiler ID . : MSVC -- CXX compiler VERSION : 19.0.24215.1 -- CXX compiler flags .. : -g -DDEBUG -- -- RC compiler : C:/Program Files (x86)/Windows Kits/8.1/bin/x86/rc.exe -- RC compiler ID . : -- RC compiler VERSION : -- RC compiler flags .. : /D_DEBUG -- -- compile definitions . : VERSION_STRING="1.0.0" -- -- include directories . : G:/oorexx.tmp/enrico/win32 -- : e:/DropBox/Dropbox/xfer/orx/beta/sandbox_ooRexx/standalone/ooRexx32win/include -- : G:/oorexx.tmp/enrico/rxSnippets/src/include -- -- user options : -- -- end of configuration summary -- -- Configuring done -- Generating done -- Build files have been written to: G:/oorexx.tmp/enrico/win32 G:\oorexx.tmp\enrico\win32> G:\oorexx.tmp\enrico\win32>nmake Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation. All rights reserved. Scanning dependencies of target rxClassic [ 25%] Building C object CMakeFiles/rxClassic.dir/src/rxClassic.c.obj cl : Command line warning D9002 : ignoring unknown option '-g' cl : Command line warning D9002 : ignoring unknown option '-g' rxClassic.c G:\oorexx.tmp\enrico\rxSnippets\src\rxClassic.c(12): fatal error C1083: Cannot open include file: 'rexx.h': No such file or directory NMAKE : fatal error U1077: 'E:\PROGRA~2\MICROS~3.0\VC\bin\cl.exe' : return code '0x2' Stop. NMAKE : fatal error U1077: '"E:\Programme\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: '"E:\Programme\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. ooRexx on Windows has the *.h files in "api" instead of "include". Adjusted it by creat