瀏覽代碼

extended instructions

richarddobson 3 月之前
父節點
當前提交
578b67a8a0
共有 2 個文件被更改,包括 39 次插入24 次删除
  1. 6 6
      CMakeLists.txt
  2. 33 18
      building.txt

+ 6 - 6
CMakeLists.txt

@@ -1,6 +1,5 @@
 # RWD version for newsfsys with PVOC EX support
-#cmake_minimum_required(VERSION 2.8.3)
-cmake_minimum_required(VERSION 3.5.0)
+cmake_minimum_required(VERSION 3.5)
 
 project (CDP)
 
@@ -154,14 +153,14 @@ if(APPLE)
     set(CS_FRAMEWORK_DEST "${CMAKE_INSTALL_PREFIX}")
   endif()
 
-  set(DEFAULT_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/)
+  set(DEFAULT_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/)
 
   if(NOT CMAKE_OSX_SYSROOT AND EXISTS ${DEFAULT_OSX_SYSROOT})
     set(CMAKE_OSX_SYSROOT ${DEFAULT_OSX_SYSROOT})
   endif()
 
    if(EXISTS ${CMAKE_OSX_SYSROOT})
-    set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8)
+    set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
   endif()
 
 endif()
@@ -196,10 +195,11 @@ if(USE_LOCAL_PORTAUDIO)
 else()
   message(STATUS "paprogs not built")
 endif()
-  
+# RWD Sept 2025 added sys/ioctl.h etc for libaaio  
 set(HEADERS_TO_CHECK
     unistd.h io.h fcntl.h stdint.h
-    sys/time.h sys/types.h termios.h
+    sys/time.h sys/types.h termios.h 
+    sys/ioctl.h sys/wait.h
     values.h winsock.h sys/socket.h
     dirent.h )
 

+ 33 - 18
building.txt

@@ -1,6 +1,6 @@
 Building CDP.
 
-This assumes general familiarity with the command line, and with 
+This assumes general familiarity with command line work, and with 
 standard build tools. 
 
 All platforms: the CDP programs use the CMake system for building makefiles:
@@ -8,7 +8,7 @@ https://cmake.org/install/
 
 Windows: the Windows version of CMake is required: this includes the 
  required Generator to create MinGW Makefiles.
-It is included in a full installation of Visual Studio. 
+It is included in a full installation of Visual Studio (free Community Edition). 
 Otherwise, it is available from the main cmake site: https://cmake.org/download/.
 
 Mac users may prefer to use homebrew. Once installed, use:
@@ -21,17 +21,16 @@ Windows:  install the Msys/MinGW linux-like environment.
  You will also need the Directx9 SDK dx9mgw.zip for MinGW, provided in the /externals directory.
  (from https://download.tuxfamily.org/allegro/)
 
-One installed, go to directory Msys/1.0/ and run the .bat file. This launches a version 
-of the Windows CMD terminal configured for Mingw, with access to many standard unix commands, etc.
+  One installed, go to directory Msys/1.0/ and run the .bat file. This launches a version 
+  of the Windows CMD terminal configured for Mingw, with access to many standard unix commands, etc.
  
- Currently we only build 32bit CDP binaries, under this older version of MinGW.
+ Currently we only build 32bit Windows binaries, under this older version of MinGW.
   
  Git: this is not needed simply to build the programs, 
  but recommended if you want to pick up updates, bugfixes, etc, easily:
  https://gitforwindows.org/
  
  
- 
 MacOS:    install Xcode along with the command line tools. This should also install Git.
                Otherwise, see: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
            install CMake (see above).
@@ -39,25 +38,39 @@ MacOS:    install Xcode along with the command line tools. This should also inst
 Linux:     we assume everything you need is already present!
 
 
+Before Builing CDP.
 
-Currently, one or two third-party libraries need to be built 
-before commencing the main CDP build.
+  The external portaudio library needs to be built 
+  before commencing the main CDP build. This is required for the CDP play/record programs: 
+   paplay, pvplay, recsf, listaudevs.
 
-1: aaiolib (Linux and MacOS):  emulation of Windows keyboard functions (getch etc)
-    unpack, then ./configure; sudo make install
+   NB: for Windows ASIO support, the Steinberg dev tools ASIOSDK2 is also needed.
 
+   See the applicable "pa...build.txt" for your platform under the externals directory.
+   Note that for all platforms some special configuration settings must be used.
 
-2: portaudio (for the CDP play/record programs: paplay, pvplay, recsf, listaudevs).
+  Note: portaudio is under continuing development. We advise just downloading the listed
+  "stable" version v19.7. It is also possible to obtain the latest sources (towards v19.8) 
+  directly from github. We are investigating this for possible absorption into the CMake system. 
+  However, there are some anomalies compared to the "stable" code set, as can be expected
+  in development code, including function name changes, and possible bugs yet to be fixed.
 
-   NB: for Windows ASIO support, the Steinberg dev tools ASIOSDK2 is also needed.
+  Currently, we require access to some "private" portaudio source files. That is to say, for functions
+  used by portaudio itself, but not supported in the main public header file "portaudio.h". 
+  These files may in principle change at any time.
 
-    see the applicable "pa...build.txt" under the externals directory.
-            
-             
+  Also currently, we require portaudio to be built and installed systemwide, mostly for the benefit of CMake.
+  This is not always ideal for users, and is an aspect under review. Those familiar with CMake and the function 
+  of the relevant CMakeLists.txt files will know how to edit them to use a local build of portaudio.
+
+           
 To Build the CDP programs
   
    The canonical approach with CMake is to create a top-level "build" directory 
-   (the directory containing the top-level "CMakeLists.txt" )
+   (the directory containing the top-level "CMakeLists.txt" ):
+ 
+   [in CDP8 directory]:
+   mkdir build
    
    then:
 
@@ -72,12 +85,13 @@ To Build the CDP programs
    
    then, to build the whole package:
    
+   MacOS, Linux:
       make
 
    MinGW: 
       mingw32-make
    
-   All compiled programs will be written to the top-level Release/ directory.
+   All compiled programs will be written to the top-level NewRelease/ directory. 
 
    
 
@@ -94,7 +108,8 @@ and fill in the form as indicated.
 
 Information on any updates to the github repositories will be posted to this list.
 
-
+This document revised:
+Richard Dobson September 11, 2025.