diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a230a937..0453c169b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -604,6 +604,16 @@ SET(CMAKE_CXX_FLAGS "${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DLMMS_DEBUG") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DLMMS_DEBUG") +if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.16") + set(NOOP_COMMAND "${CMAKE_COMMAND}" "-E" "true") +else() + set(NOOP_COMMAND "${CMAKE_COMMAND}" "-E" "echo") +endif() +if(STRIP) + set(STRIP_COMMAND "$,${NOOP_COMMAND},${STRIP}>") +else() + set(STRIP_COMMAND "${NOOP_COMMAND}") +endif() # people simply updating git will still have this and mess up build with it FILE(REMOVE include/lmmsconfig.h) diff --git a/cmake/modules/BuildPlugin.cmake b/cmake/modules/BuildPlugin.cmake index 675433e63..f8b3d3153 100644 --- a/cmake/modules/BuildPlugin.cmake +++ b/cmake/modules/BuildPlugin.cmake @@ -76,9 +76,13 @@ MACRO(BUILD_PLUGIN PLUGIN_NAME) ADD_DEPENDENCIES(${PLUGIN_NAME} lmms) ENDIF(LMMS_BUILD_APPLE) IF(LMMS_BUILD_WIN32) - IF(STRIP) - ADD_CUSTOM_COMMAND(TARGET ${PLUGIN_NAME} POST_BUILD COMMAND ${STRIP} "$") - ENDIF() + add_custom_command( + TARGET "${PLUGIN_NAME}" + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES PREFIX "") ENDIF() diff --git a/plugins/LadspaEffect/calf/CMakeLists.txt b/plugins/LadspaEffect/calf/CMakeLists.txt index f5fb632f6..90f506417 100644 --- a/plugins/LadspaEffect/calf/CMakeLists.txt +++ b/plugins/LadspaEffect/calf/CMakeLists.txt @@ -40,10 +40,15 @@ IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") ENDIF() SET_TARGET_PROPERTIES(veal PROPERTIES COMPILE_FLAGS "-fexceptions -O2 -finline-functions ${INLINE_FLAGS}") -# Don't strip if "Debug" or "RelWithDebInfo" -IF(LMMS_BUILD_WIN32 AND NOT CMAKE_BUILD_TYPE MATCHES "Deb") - ADD_CUSTOM_COMMAND(TARGET veal POST_BUILD COMMAND "${STRIP}" "$") -ENDIF() +if(LMMS_BUILD_WIN32) + add_custom_command( + TARGET veal + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) +endif() IF(NOT LMMS_BUILD_APPLE AND NOT LMMS_BUILD_OPENBSD) SET_TARGET_PROPERTIES(veal PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined") ENDIF() diff --git a/plugins/LadspaEffect/caps/CMakeLists.txt b/plugins/LadspaEffect/caps/CMakeLists.txt index 0eff4d5cd..bdcf3a96a 100644 --- a/plugins/LadspaEffect/caps/CMakeLists.txt +++ b/plugins/LadspaEffect/caps/CMakeLists.txt @@ -10,7 +10,13 @@ SET_TARGET_PROPERTIES(caps PROPERTIES PREFIX "") SET_TARGET_PROPERTIES(caps PROPERTIES COMPILE_FLAGS "-O2 -funroll-loops -Wno-write-strings") IF(LMMS_BUILD_WIN32) - ADD_CUSTOM_COMMAND(TARGET caps POST_BUILD COMMAND "${STRIP}" \"$\") + add_custom_command( + TARGET caps + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) ENDIF(LMMS_BUILD_WIN32) IF(NOT LMMS_BUILD_APPLE AND NOT LMMS_BUILD_OPENBSD) SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined") diff --git a/plugins/LadspaEffect/cmt/CMakeLists.txt b/plugins/LadspaEffect/cmt/CMakeLists.txt index 7aae5a683..ded7b8958 100644 --- a/plugins/LadspaEffect/cmt/CMakeLists.txt +++ b/plugins/LadspaEffect/cmt/CMakeLists.txt @@ -7,11 +7,19 @@ INSTALL(TARGETS cmt LIBRARY DESTINATION "${PLUGIN_DIR}/ladspa") SET_TARGET_PROPERTIES(cmt PROPERTIES PREFIX "") SET_TARGET_PROPERTIES(cmt PROPERTIES COMPILE_FLAGS "-Wall -O3 -fno-strict-aliasing") -IF(LMMS_BUILD_WIN32 AND NOT CMAKE_BUILD_TYPE MATCHES "Deb") - ADD_CUSTOM_COMMAND(TARGET cmt POST_BUILD COMMAND "${STRIP}" "$") -ELSE() - SET_TARGET_PROPERTIES(cmt PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -fPIC") -ENDIF() +if(LMMS_BUILD_WIN32) + add_custom_command( + TARGET cmt + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) +endif() + +if(NOT LMMS_BUILD_WIN32) + set_target_properties(cmt PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -fPIC") +endif() IF(NOT LMMS_BUILD_APPLE AND NOT LMMS_BUILD_OPENBSD) SET_TARGET_PROPERTIES(cmt PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined") diff --git a/plugins/LadspaEffect/swh/CMakeLists.txt b/plugins/LadspaEffect/swh/CMakeLists.txt index 131e60373..aec01c22f 100644 --- a/plugins/LadspaEffect/swh/CMakeLists.txt +++ b/plugins/LadspaEffect/swh/CMakeLists.txt @@ -41,6 +41,16 @@ FOREACH(_item ${XML_SOURCES}) TARGET_LINK_LIBRARIES("${_plugin}" m) ENDIF() + if(LMMS_BUILD_WIN32) + add_custom_command( + TARGET "${_plugin}" + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) + endif(LMMS_BUILD_WIN32) + SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES PREFIX "") SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}") SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS}") diff --git a/plugins/LadspaEffect/tap/CMakeLists.txt b/plugins/LadspaEffect/tap/CMakeLists.txt index e0740bd5e..c8d0a4eb8 100644 --- a/plugins/LadspaEffect/tap/CMakeLists.txt +++ b/plugins/LadspaEffect/tap/CMakeLists.txt @@ -11,10 +11,15 @@ FOREACH(_item ${PLUGIN_SOURCES}) ENDIF() INSTALL(TARGETS "${_plugin}" LIBRARY DESTINATION "${PLUGIN_DIR}/ladspa") SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES PREFIX "") - # Don't strip if "Debug" or "RelWithDebInfo" - IF(LMMS_BUILD_WIN32 AND NOT CMAKE_BUILD_TYPE MATCHES "Deb") - ADD_CUSTOM_COMMAND(TARGET "${_plugin}" POST_BUILD COMMAND "${STRIP}" \"$\") - ENDIF() + if(LMMS_BUILD_WIN32) + add_custom_command( + TARGET "${_plugin}" + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) + endif() IF(NOT MSVC) TARGET_LINK_LIBRARIES("${_plugin}" m) ENDIF() diff --git a/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt b/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt index 43e67f7de..3356ae596 100644 --- a/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt +++ b/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt @@ -89,9 +89,25 @@ if(IS_MINGW) endif() endif() -IF(STRIP) - ADD_CUSTOM_COMMAND(TARGET ${EXE_NAME} POST_BUILD COMMAND "${STRIP}" "$") -ENDIF() +if(LMMS_BUILD_WIN32) + if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.16") + set(NOOP_COMMAND "${CMAKE_COMMAND}" "-E" "true") + else() + set(NOOP_COMMAND "${CMAKE_COMMAND}" "-E" "echo") + endif() + if(STRIP) + set(STRIP_COMMAND "$,${NOOP_COMMAND},${STRIP}>") + else() + set(STRIP_COMMAND "${NOOP_COMMAND}") + endif() + add_custom_command( + TARGET "${EXE_NAME}" + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) +endif() if(BITNESS EQUAL 32) INSTALL(TARGETS ${EXE_NAME} RUNTIME DESTINATION "${PLUGIN_DIR}/32") diff --git a/plugins/ZynAddSubFx/CMakeLists.txt b/plugins/ZynAddSubFx/CMakeLists.txt index 0c8fa8681..b184162a3 100644 --- a/plugins/ZynAddSubFx/CMakeLists.txt +++ b/plugins/ZynAddSubFx/CMakeLists.txt @@ -199,6 +199,18 @@ ENDIF(LMMS_BUILD_WIN32) IF(LMMS_BUILD_WIN32) - ADD_CUSTOM_COMMAND(TARGET ZynAddSubFxCore POST_BUILD COMMAND "${STRIP}" \"$\") - ADD_CUSTOM_COMMAND(TARGET RemoteZynAddSubFx POST_BUILD COMMAND "${STRIP}" \"$\") + add_custom_command( + TARGET ZynAddSubFxCore + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) + add_custom_command( + TARGET RemoteZynAddSubFx + POST_BUILD + COMMAND "${STRIP_COMMAND}" "$" + VERBATIM + COMMAND_EXPAND_LISTS + ) ENDIF(LMMS_BUILD_WIN32)