From 47e826546aafe93acdbc005adb672668763edf18 Mon Sep 17 00:00:00 2001
From: James Crook <james.k.crook@gmail.com>
Date: Sun, 1 Apr 2018 09:58:23 +0100
Subject: [PATCH] Move all CMake of lib-src to cmake-proxies

Previously lib-src that we controlled had their cmake files with them.  This is clearer.
Also added place holders for help and locale.
Also enabled libvorbis and soundtouch and disabled portburn.
---
 CMakeLists.txt                                |  9 ++++++---
 cmake-proxies/CMakeLists.txt                  | 10 +++++++---
 .../FileDialog/CMakeLists.txt                 | 15 +++++++-------
 cmake-proxies/mod-script-pipe/CMakeLists.txt  | 20 +++++++++++++++++++
 lib-src/mod-script-pipe/CMakeLists.txt        | 10 ----------
 5 files changed, 41 insertions(+), 23 deletions(-)
 rename {lib-src => cmake-proxies}/FileDialog/CMakeLists.txt (66%)
 create mode 100644 cmake-proxies/mod-script-pipe/CMakeLists.txt
 delete mode 100644 lib-src/mod-script-pipe/CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1faf35354..6c6aa3e0c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,10 +1,13 @@
 #directory audacity top level
-cmake_minimum_required (VERSION 3.8) # so we can use cotire and source_group
+# 3.8 so we can use source_group
+# cotire only needs 2.8.12
+cmake_minimum_required (VERSION 3.8) 
 cmake_policy(SET CMP0043 NEW) # just hide an annoying warning in 3.0.2
 
-# There must be a symbol for this already, surely?
+# Renaming.  Could just use the official name throughout.
 set( top_dir ${CMAKE_SOURCE_DIR} )
 
+# Path for cotire.cmake, and later for our wxwidgets.cmake.
 set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake-proxies/cmake-modules)
 include(cotire)
 
@@ -25,7 +28,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 #set( wxWidgets_CONFIGURATION "mswud" )
 
 
-add_subdirectory( "lib-src" )
+#add_subdirectory( "lib-src" ) #All lib building happens via the proxies.
 add_subdirectory( "cmake-proxies" )
 add_subdirectory( "src" )
 
diff --git a/cmake-proxies/CMakeLists.txt b/cmake-proxies/CMakeLists.txt
index 747ce702d..de2aa5281 100644
--- a/cmake-proxies/CMakeLists.txt
+++ b/cmake-proxies/CMakeLists.txt
@@ -2,8 +2,6 @@
 set( LIB_SRC_DIRECTORY ${top_dir}/lib-src/ )
 
 #These are done in their actual directories, no need for a proxy.
-#add_subdirectory( "mod-script-pipe" )
-#add_subdirectory( "FileDialog" )
 
 #Same idea, but not yet done/needed
 #add_subdirectory( "mod-null" )
@@ -16,6 +14,8 @@ set( LIB_SRC_DIRECTORY ${top_dir}/lib-src/ )
 
 
 add_subdirectory( "expat" )
+add_subdirectory( "FileDialog" )
+#add_subdirectory( "help" )
 add_subdirectory( "libflac" )
 add_subdirectory( "libflac++" )
 add_subdirectory( "libid3tag" )
@@ -26,11 +26,15 @@ add_subdirectory( "libscorealign" )
 add_subdirectory( "libsndfile" )
 add_subdirectory( "libsoxr" )
 add_subdirectory( "libvamp" )
+add_subdirectory( "libvorbis" )
+#add_subdirectory( "locale" )
 add_subdirectory( "lv2" )
+add_subdirectory( "mod-script-pipe" )
 add_subdirectory( "portaudio-v19" )
 add_subdirectory( "portmidi" )
 add_subdirectory( "portmixer" )
-add_subdirectory( "portburn" )
+#add_subdirectory( "portburn" ) # not built
 add_subdirectory( "portsmf" )
 add_subdirectory( "sbsms" )
+add_subdirectory( "soundtouch" )
 add_subdirectory( "twolame" )
diff --git a/lib-src/FileDialog/CMakeLists.txt b/cmake-proxies/FileDialog/CMakeLists.txt
similarity index 66%
rename from lib-src/FileDialog/CMakeLists.txt
rename to cmake-proxies/FileDialog/CMakeLists.txt
index 346da3beb..6659f5b63 100644
--- a/lib-src/FileDialog/CMakeLists.txt
+++ b/cmake-proxies/FileDialog/CMakeLists.txt
@@ -1,5 +1,7 @@
 #directory lib-src/FileDialog
-
+set( TARGET FileDialog )
+set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET} )
+project( ${TARGET} )
 
 set( SOURCES 
 ${LIB_SRC_DIRECTORY}FileDialog/FileDialog.cpp
@@ -7,17 +9,16 @@ ${LIB_SRC_DIRECTORY}FileDialog/FileDialog.cpp
 ${LIB_SRC_DIRECTORY}FileDialog/win/FileDialogPrivate.cpp
 )
 
-
-project (FileDialog)
 add_library( FileDialog STATIC ${SOURCES})
 find_package(wxWidgets REQUIRED COMPONENTS net core base)
 include( ${wxWidgets_USE_FILE} )
-target_include_directories( FileDialog PRIVATE
+target_include_directories(  ${TARGET} PRIVATE 
 #${wxWidgets_INCLUDE_DIRS}
-${top_dir}/FileDialog
-${top_dir}/FileDialog/win
+${TARGET_SOURCE}
+${TARGET_SOURCE}/win
 )
 add_definitions( -DWXUSINGDLL -DWIN32 -D_LIB 
 #${wxWidgets_DEFINITIONS} 
 )
-target_link_libraries(FileDialog ${wxWidgets_LIBRARIES})
\ No newline at end of file
+target_link_libraries(${TARGET} ${wxWidgets_LIBRARIES})
+
diff --git a/cmake-proxies/mod-script-pipe/CMakeLists.txt b/cmake-proxies/mod-script-pipe/CMakeLists.txt
new file mode 100644
index 000000000..3c6ae28cc
--- /dev/null
+++ b/cmake-proxies/mod-script-pipe/CMakeLists.txt
@@ -0,0 +1,20 @@
+#directory cmake-proxies/mod-script-pipe
+set( TARGET mod-script-pipe )
+set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET} )
+project( ${TARGET} )
+find_package(wxWidgets REQUIRED COMPONENTS net core base)
+include(${wxWidgets_USE_FILE})
+
+set( SOURCES 
+${TARGET_SOURCE}/PipeServer.cpp
+${TARGET_SOURCE}/ScripterCallback.cpp
+)
+# This defines the #define on both Windows and Linux.
+add_definitions( -DBUILDING_SCRIPT_PIPE )
+add_library( ${TARGET} MODULE ${SOURCES})
+
+target_include_directories( ${TARGET} PRIVATE 
+  ${top_dir}/win
+)
+
+target_link_libraries( ${TARGET}  ${wxWidgets_LIBRARIES})
\ No newline at end of file
diff --git a/lib-src/mod-script-pipe/CMakeLists.txt b/lib-src/mod-script-pipe/CMakeLists.txt
deleted file mode 100644
index d2193a750..000000000
--- a/lib-src/mod-script-pipe/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-#directory lib-src/mod-script-pipe
-project (mod-script-pipe)
-find_package(wxWidgets REQUIRED COMPONENTS net core base)
-include(${wxWidgets_USE_FILE})
-include_directories(${install_dir}../../win)
-
-# This defines the #define on both Windows and Linux.
-add_definitions( -DBUILDING_SCRIPT_PIPE )
-add_library( mod-script-pipe MODULE PipeServer.cpp ScripterCallback.cpp)
-target_link_libraries(mod-script-pipe ${wxWidgets_LIBRARIES})
\ No newline at end of file