Thinking about creating ooRexx zip-archives ("usb"-versions) for all platforms how about the following idea: create a new command (Makefile rule) "create_zip" via CMake which will use the generated Rexx binary to run some Rexx script "createZip.rex" which will install ooRexx locally to a (CMake supplied) DESTDIR (e.g. "_zip_").
Then in the DESTDIR subdirectory a subdirectory named after the zip-filename (CMake supplied) gets created and the DESTDIR installed files will get copied/moved to it with the following zip-layout: * bin: contains all binaries, on Windows also the dlls * lib: contains all shared/dynamic libraries, on Windows the link libraries rexx.lib, rexxapi.lib * include: contains the include files * samples: contains all the samples * doc: contains the pdf files, if they got installed After the Rexx script did its reshuffling to create the directory layout for the zip-archive, CMake gets control back. CMake should create two zip-files from these, a runtime version (bin, lib, include) and a full version (bin, lib, include, samples, doc). The runtime version should also include the necessary files for compiling against ooRexx (lib, include) on all platforms (the ooRexx Windows installation has an 'api' directory which includes the include files and the link libraries, however sorting them out and placing them into an include and lib directory in the zip-archive would standardize the layout structure among all systems; this is for the zip-versions only). (N.B.: Looking at Apple I noted that doing a DESTDIR install will have the samples in "share/ooRexx" and not in "share/ooRexx/samples" as on Linux, wondering why this would be.) --- The zip-file name should be set by CMake, here one idea: ${CPACK_PACKAGE_NAME}-${ORX_VERSION}-r${ORX_BLD_LVL}-${rexx_exe_cpu} where "rexx_exe_cpu" would be CMAKE_SYSTEM_PROCESSOR on Linux and Apple (in the case of a universal build it would be 'universal' instead) and NSIS_CPU on Windows (currently either "x86_32" or "x86_64"). On a 32-bit Windows system the produced zip archive might be named "ooRexx-5.0.0-r12345-x86_32-runtime.zip" and "ooRexx-5.0.0-r12345-x86_32.zip" (full version with samples and documentation) on a 64-bit Linux "ooRexx-5.0.0-r12345-x86_64-runtime.zip" and "ooRexx-5.0.0-r12345-x86_64.zip" on an Apple "ooRexx-5.0.0-r12345-universal-runtime.zip" and "ooRexx-5.0.0-r12345-universal.zip". Any comments? ---rony
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel