From 858d115c75d149b28b6e087345c4dde2836538c7 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Sun, 26 Aug 2018 01:25:49 +0100 Subject: [PATCH] Changes to CMakeLists for plugins (much smaller, using an include for boilerplate) --- src/fdGain/CMakeLists.txt | 139 ++++++---------------------------- src/fdNMF/CMakeLists.txt | 133 ++++++-------------------------- src/fdSTFTPass/CMakeLists.txt | 139 ++++++---------------------------- 3 files changed, 75 insertions(+), 336 deletions(-) diff --git a/src/fdGain/CMakeLists.txt b/src/fdGain/CMakeLists.txt index 70cb900..653a89a 100755 --- a/src/fdGain/CMakeLists.txt +++ b/src/fdGain/CMakeLists.txt @@ -1,120 +1,31 @@ -####### original SC Cmake file starts here -cmake_minimum_required (VERSION 3.1) -get_filename_component(PROJECT ${CMAKE_SOURCE_DIR} NAME_WE) #automatically sets project name from the filename -message(STATUS "Project name is ${PROJECT}") -project (${PROJECT}) - -####### added the eingenmf -set(FLUID_DECOMP_DIR ~/fluid_decomposition) -set(FILENAME "fdGain.cpp") #specify the .cpp file here - -set(CMAKE_CXX_STANDARD 11) -set (CMAKE_CXX_STANDARD_REQUIRED ON) +cmake_minimum_required(VERSION 3.3) +get_filename_component(PLUGIN ${CMAKE_CURRENT_LIST_DIR} NAME_WE) +message("Configuring ${PLUGIN}") +set(FILENAME ${PLUGIN}.cpp) add_library( -${PROJECT} -MODULE -${FILENAME} -"${FLUID_DECOMP_DIR}/3rdparty/HISSTools_FFT/HISSTools_FFT.cpp" -) - -add_custom_command( - TARGET - ${PROJECT} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory "../../release-packaging/${PROJECT}/plugins" - COMMAND ${CMAKE_COMMAND} -E copy $ "../../release-packaging/${PROJECT}/plugins" + ${PLUGIN} + MODULE + ${FILENAME} +# "${FLUID_DECOMP_DIR}/3rdparty/HISSTools_FFT/HISSTools_FFT.cpp" ) -include_directories( - "${FLUID_DECOMP_DIR}" - "${FLUID_DECOMP_DIR}/include" - "${FLUID_DECOMP_DIR}/3rdparty" +target_link_libraries( + ${PLUGIN} PRIVATE FLUID_DECOMPOSITION ) - -include_directories(${SC_PATH}/include/plugin_interface) -include_directories(${SC_PATH}/include/common) -include_directories(${SC_PATH}/common) - -set(CMAKE_SHARED_MODULE_PREFIX "") -if(APPLE OR WIN32) -set(CMAKE_SHARED_MODULE_SUFFIX ".scx") -endif() - -option(SUPERNOVA "Build plugins for supernova" OFF) -if (SUPERNOVA) - include_directories(${SC_PATH}/external_libraries/nova-tt) - # actually just boost.atomic - include_directories(${SC_PATH}/external_libraries/boost) - include_directories(${SC_PATH}/external_libraries/boost_lockfree) - include_directories(${SC_PATH}/external_libraries/boost-lockfree) -endif() - -option(CPP11 "Build with c++11." ON) - -if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(CMAKE_COMPILER_IS_CLANG 1) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG) - add_definitions(-fvisibility=hidden) - - include (CheckCCompilerFlag) - include (CheckCXXCompilerFlag) - - CHECK_C_COMPILER_FLAG(-msse HAS_SSE) - CHECK_CXX_COMPILER_FLAG(-msse HAS_CXX_SSE) - - if (HAS_SSE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse") - endif() - if (HAS_CXX_SSE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse") - endif() - - CHECK_C_COMPILER_FLAG(-msse2 HAS_SSE2) - CHECK_CXX_COMPILER_FLAG(-msse2 HAS_CXX_SSE2) - - if (HAS_SSE2) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2") - endif() - if (HAS_CXX_SSE2) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2") - endif() - - CHECK_C_COMPILER_FLAG(-mfpmath=sse HAS_FPMATH_SSE) - CHECK_CXX_COMPILER_FLAG(-mfpmath=sse HAS_CXX_FPMATH_SSE) - - if (HAS_FPMATH_SSE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse") - endif() - if (HAS_CXX_FPMATH_SSE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse") - endif() - - if(NATIVE) - add_definitions(-march=native) - endif() - - if(CPP11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - if(CMAKE_COMPILER_IS_CLANG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") - endif() - endif() -endif() -if(MINGW) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstackrealign") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstackrealign") -endif() - -####### added the fluid_decomposition - -if(SUPERNOVA) - add_library(${PROJECT}_supernova MODULE ${FILENAME}) - set_property(TARGET ${PROJECT}_supernova - PROPERTY COMPILE_DEFINITIONS SUPERNOVA) -endif() - -target_link_libraries (${PROJECT} "-framework Accelerate") +include(${CMAKE_CURRENT_LIST_DIR}/../../scripts/target_post.cmake) + +# add_custom_command( +# TARGET +# ${PROJECT} +# POST_BUILD +# COMMAND ${CMAKE_COMMAND} -E make_directory "../../release-packaging/${PROJECT}/plugins" +# COMMAND ${CMAKE_COMMAND} -E copy $ "../../release-packaging/${PROJECT}/plugins" +# ) +# +# target_include_directories( +# "${FLUID_DECOMP_DIR}" +# "${FLUID_DECOMP_DIR}/include" +# "${FLUID_DECOMP_DIR}/3rdparty" +# ) diff --git a/src/fdNMF/CMakeLists.txt b/src/fdNMF/CMakeLists.txt index e7a12b0..653a89a 100755 --- a/src/fdNMF/CMakeLists.txt +++ b/src/fdNMF/CMakeLists.txt @@ -1,114 +1,31 @@ -####### added the eingenmf -set(FLUID_DECOMP_DIR ../../fluid_decomposition) +cmake_minimum_required(VERSION 3.3) +get_filename_component(PLUGIN ${CMAKE_CURRENT_LIST_DIR} NAME_WE) +message("Configuring ${PLUGIN}") +set(FILENAME ${PLUGIN}.cpp) -include_directories( - "${FLUID_DECOMP_DIR}" - "${FLUID_DECOMP_DIR}/include" - "${FLUID_DECOMP_DIR}/3rdparty" -) - -####### original SC Cmake file starts here -set(FILENAME "fdNMF.cpp") #specify the .cpp file here -cmake_minimum_required (VERSION 2.8) -get_filename_component(PROJECT ${FILENAME} NAME_WE) #automatically sets project name from the filename -message(STATUS "Project name is ${PROJECT}") -project (${PROJECT}) - -include_directories(${SC_PATH}/include/plugin_interface) -include_directories(${SC_PATH}/include/common) -include_directories(${SC_PATH}/common) - -set(CMAKE_SHARED_MODULE_PREFIX "") -if(APPLE OR WIN32) -set(CMAKE_SHARED_MODULE_SUFFIX ".scx") -endif() - -option(SUPERNOVA "Build plugins for supernova" OFF) -if (SUPERNOVA) - include_directories(${SC_PATH}/external_libraries/nova-tt) - # actually just boost.atomic - include_directories(${SC_PATH}/external_libraries/boost) - include_directories(${SC_PATH}/external_libraries/boost_lockfree) - include_directories(${SC_PATH}/external_libraries/boost-lockfree) -endif() - -option(CPP11 "Build with c++11." ON) - -if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(CMAKE_COMPILER_IS_CLANG 1) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG) - add_definitions(-fvisibility=hidden) - - include (CheckCCompilerFlag) - include (CheckCXXCompilerFlag) - - CHECK_C_COMPILER_FLAG(-msse HAS_SSE) - CHECK_CXX_COMPILER_FLAG(-msse HAS_CXX_SSE) - - if (HAS_SSE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse") - endif() - if (HAS_CXX_SSE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse") - endif() - - CHECK_C_COMPILER_FLAG(-msse2 HAS_SSE2) - CHECK_CXX_COMPILER_FLAG(-msse2 HAS_CXX_SSE2) - - if (HAS_SSE2) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2") - endif() - if (HAS_CXX_SSE2) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2") - endif() - - CHECK_C_COMPILER_FLAG(-mfpmath=sse HAS_FPMATH_SSE) - CHECK_CXX_COMPILER_FLAG(-mfpmath=sse HAS_CXX_FPMATH_SSE) - - if (HAS_FPMATH_SSE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse") - endif() - if (HAS_CXX_FPMATH_SSE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse") - endif() - - if(NATIVE) - add_definitions(-march=native) - endif() - - if(CPP11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - if(CMAKE_COMPILER_IS_CLANG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") - endif() - endif() -endif() -if(MINGW) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstackrealign") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstackrealign") -endif() - -####### added the fluid_decomposition add_library( -${PROJECT} -MODULE -${FILENAME} -"${FLUID_DECOMP_DIR}/3rdparty/HISSTools_FFT/HISSTools_FFT.cpp" + ${PLUGIN} + MODULE + ${FILENAME} +# "${FLUID_DECOMP_DIR}/3rdparty/HISSTools_FFT/HISSTools_FFT.cpp" ) -if(SUPERNOVA) - add_library(${PROJECT}_supernova MODULE ${FILENAME}) - set_property(TARGET ${PROJECT}_supernova - PROPERTY COMPILE_DEFINITIONS SUPERNOVA) -endif() -add_custom_command( - TARGET - ${PROJECT} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory "../../release-packaging/${PROJECT}/plugins" - COMMAND ${CMAKE_COMMAND} -E copy $ "../../release-packaging/${PROJECT}/plugins" +target_link_libraries( + ${PLUGIN} PRIVATE FLUID_DECOMPOSITION ) -target_link_libraries (${PROJECT} "-framework Accelerate") +include(${CMAKE_CURRENT_LIST_DIR}/../../scripts/target_post.cmake) + +# add_custom_command( +# TARGET +# ${PROJECT} +# POST_BUILD +# COMMAND ${CMAKE_COMMAND} -E make_directory "../../release-packaging/${PROJECT}/plugins" +# COMMAND ${CMAKE_COMMAND} -E copy $ "../../release-packaging/${PROJECT}/plugins" +# ) +# +# target_include_directories( +# "${FLUID_DECOMP_DIR}" +# "${FLUID_DECOMP_DIR}/include" +# "${FLUID_DECOMP_DIR}/3rdparty" +# ) diff --git a/src/fdSTFTPass/CMakeLists.txt b/src/fdSTFTPass/CMakeLists.txt index 0830062..653a89a 100755 --- a/src/fdSTFTPass/CMakeLists.txt +++ b/src/fdSTFTPass/CMakeLists.txt @@ -1,120 +1,31 @@ -####### original SC Cmake file starts here -cmake_minimum_required (VERSION 3.1) -get_filename_component(PROJECT ${CMAKE_SOURCE_DIR} NAME_WE) #automatically sets project name from the filename -message(STATUS "Project name is ${PROJECT}") -project (${PROJECT}) - -####### added the eingenmf -set(FLUID_DECOMP_DIR ~/fluid_decomposition) -set(FILENAME "fdSTFTPass.cpp") #specify the .cpp file here - -set(CMAKE_CXX_STANDARD 11) -set (CMAKE_CXX_STANDARD_REQUIRED ON) +cmake_minimum_required(VERSION 3.3) +get_filename_component(PLUGIN ${CMAKE_CURRENT_LIST_DIR} NAME_WE) +message("Configuring ${PLUGIN}") +set(FILENAME ${PLUGIN}.cpp) add_library( -${PROJECT} -MODULE -${FILENAME} -"${FLUID_DECOMP_DIR}/3rdparty/HISSTools_FFT/HISSTools_FFT.cpp" -) - -add_custom_command( - TARGET - ${PROJECT} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory "../../release-packaging/${PROJECT}/plugins" - COMMAND ${CMAKE_COMMAND} -E copy $ "../../release-packaging/${PROJECT}/plugins" + ${PLUGIN} + MODULE + ${FILENAME} +# "${FLUID_DECOMP_DIR}/3rdparty/HISSTools_FFT/HISSTools_FFT.cpp" ) -include_directories( - "${FLUID_DECOMP_DIR}" - "${FLUID_DECOMP_DIR}/include" - "${FLUID_DECOMP_DIR}/3rdparty" +target_link_libraries( + ${PLUGIN} PRIVATE FLUID_DECOMPOSITION ) - -include_directories(${SC_PATH}/include/plugin_interface) -include_directories(${SC_PATH}/include/common) -include_directories(${SC_PATH}/common) - -set(CMAKE_SHARED_MODULE_PREFIX "") -if(APPLE OR WIN32) -set(CMAKE_SHARED_MODULE_SUFFIX ".scx") -endif() - -option(SUPERNOVA "Build plugins for supernova" OFF) -if (SUPERNOVA) - include_directories(${SC_PATH}/external_libraries/nova-tt) - # actually just boost.atomic - include_directories(${SC_PATH}/external_libraries/boost) - include_directories(${SC_PATH}/external_libraries/boost_lockfree) - include_directories(${SC_PATH}/external_libraries/boost-lockfree) -endif() - -option(CPP11 "Build with c++11." ON) - -if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(CMAKE_COMPILER_IS_CLANG 1) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG) - add_definitions(-fvisibility=hidden) - - include (CheckCCompilerFlag) - include (CheckCXXCompilerFlag) - - CHECK_C_COMPILER_FLAG(-msse HAS_SSE) - CHECK_CXX_COMPILER_FLAG(-msse HAS_CXX_SSE) - - if (HAS_SSE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse") - endif() - if (HAS_CXX_SSE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse") - endif() - - CHECK_C_COMPILER_FLAG(-msse2 HAS_SSE2) - CHECK_CXX_COMPILER_FLAG(-msse2 HAS_CXX_SSE2) - - if (HAS_SSE2) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2") - endif() - if (HAS_CXX_SSE2) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2") - endif() - - CHECK_C_COMPILER_FLAG(-mfpmath=sse HAS_FPMATH_SSE) - CHECK_CXX_COMPILER_FLAG(-mfpmath=sse HAS_CXX_FPMATH_SSE) - - if (HAS_FPMATH_SSE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse") - endif() - if (HAS_CXX_FPMATH_SSE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse") - endif() - - if(NATIVE) - add_definitions(-march=native) - endif() - - if(CPP11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - if(CMAKE_COMPILER_IS_CLANG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") - endif() - endif() -endif() -if(MINGW) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstackrealign") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstackrealign") -endif() - -####### added the fluid_decomposition - -if(SUPERNOVA) - add_library(${PROJECT}_supernova MODULE ${FILENAME}) - set_property(TARGET ${PROJECT}_supernova - PROPERTY COMPILE_DEFINITIONS SUPERNOVA) -endif() - -target_link_libraries (${PROJECT} "-framework Accelerate") +include(${CMAKE_CURRENT_LIST_DIR}/../../scripts/target_post.cmake) + +# add_custom_command( +# TARGET +# ${PROJECT} +# POST_BUILD +# COMMAND ${CMAKE_COMMAND} -E make_directory "../../release-packaging/${PROJECT}/plugins" +# COMMAND ${CMAKE_COMMAND} -E copy $ "../../release-packaging/${PROJECT}/plugins" +# ) +# +# target_include_directories( +# "${FLUID_DECOMP_DIR}" +# "${FLUID_DECOMP_DIR}/include" +# "${FLUID_DECOMP_DIR}/3rdparty" +# )