Backoprt of https://github.com/LMMS/lmms/pull/3203/commits/a76b944ead9d8bc782b985708fdf26bfd4b8782d --- lmms/cmake/modules/BuildPlugin.cmake +++ lmms/cmake/modules/BuildPlugin.cmake @@ -26,10 +26,17 @@ SET(PLUGIN_EMBEDDED_RESOURCES ${NEW_ARGS}) SET(ER_H "${CMAKE_CURRENT_BINARY_DIR}/embedded_resources.h") - ADD_CUSTOM_COMMAND(OUTPUT ${ER_H} - COMMAND ${BIN2RES} - ARGS ${PLUGIN_EMBEDDED_RESOURCES} > "${ER_H}" - DEPENDS bin2res) + IF(CMAKE_VERSION VERSION_LESS 3.0) + ADD_CUSTOM_COMMAND(OUTPUT ${ER_H} + COMMAND ${BIN2RES} + ARGS ${PLUGIN_EMBEDDED_RESOURCES} > "${ER_H}" + DEPENDS bin2res) + ELSE() + ADD_CUSTOM_COMMAND(OUTPUT ${ER_H} + COMMAND bin2res + ARGS ${PLUGIN_EMBEDDED_RESOURCES} > ${ER_H} + DEPENDS bin2res) + ENDIF() ENDIF(ER_LEN) IF(QT5) --- lmms/CMakeLists.txt +++ lmms/CMakeLists.txt @@ -7,11 +7,6 @@ IF(COMMAND CMAKE_POLICY) CMAKE_POLICY(SET CMP0005 NEW) CMAKE_POLICY(SET CMP0003 NEW) - IF (CMAKE_MAJOR_VERSION GREATER 2) - CMAKE_POLICY(SET CMP0026 OLD) - CMAKE_POLICY(SET CMP0045 NEW) - CMAKE_POLICY(SET CMP0050 OLD) - ENDIF() ENDIF(COMMAND CMAKE_POLICY) INCLUDE(AddFileDependencies) @@ -532,15 +527,20 @@ ENDIF() # embedded resources stuff -IF(WIN32 OR WIN64) - # compile buildtools native - SET(BIN2RES_CPP "${CMAKE_SOURCE_DIR}/buildtools/bin2res.cpp") - SET(BIN2RES "${CMAKE_BINARY_DIR}/bin2res") - ADD_CUSTOM_TARGET(bin2res COMMAND g++ "\"${BIN2RES_CPP}\"" -o "\"${BIN2RES}\"" DEPENDS "${BIN2RES_CPP}") -ELSE(WIN32 OR WIN64) +IF(CMAKE_VERSION VERSION_LESS 3.0) + IF(WIN32 OR WIN64) + # compile buildtools native + SET(BIN2RES_CPP "${CMAKE_SOURCE_DIR}/buildtools/bin2res.cpp") + SET(BIN2RES "${CMAKE_BINARY_DIR}/bin2res") + ADD_CUSTOM_TARGET(bin2res COMMAND g++ "\"${BIN2RES_CPP}\"" + -o "\"${BIN2RES}\"" DEPENDS "${BIN2RES_CPP}") + ELSE(WIN32 OR WIN64) + ADD_EXECUTABLE(bin2res buildtools/bin2res.cpp) + GET_TARGET_PROPERTY(BIN2RES bin2res LOCATION) + ENDIF(WIN32 OR WIN64) +ELSE() ADD_EXECUTABLE(bin2res buildtools/bin2res.cpp) - GET_TARGET_PROPERTY(BIN2RES bin2res LOCATION) -ENDIF(WIN32 OR WIN64) +ENDIF() # we somehow have to make LMMS-binary depend on MOC-files ADD_FILE_DEPENDENCIES("${CMAKE_BINARY_DIR}/lmmsconfig.h") --- lmms/src/CMakeLists.txt +++ lmms/src/CMakeLists.txt @@ -45,7 +45,15 @@ SET(lmms_EMBEDDED_RESOURCES "${CMAKE_SOURCE_DIR}/doc/AUTHORS" "${CMAKE_SOURCE_DIR}/LICENSE.txt" "${CONTRIBUTORS}") SET(LMMS_ER_H "${CMAKE_CURRENT_BINARY_DIR}/embedded_resources.h") -ADD_CUSTOM_COMMAND(OUTPUT "${LMMS_ER_H}" COMMAND "${BIN2RES}" ARGS ${lmms_EMBEDDED_RESOURCES} > "${LMMS_ER_H}" DEPENDS bin2res) +IF(CMAKE_VERSION VERSION_LESS 3.0) + ADD_CUSTOM_COMMAND(OUTPUT "${LMMS_ER_H}" COMMAND "${BIN2RES}" + ARGS ${lmms_EMBEDDED_RESOURCES} > "\"${LMMS_ER_H}\"" + DEPENDS bin2res) +ELSE() + ADD_CUSTOM_COMMAND(OUTPUT "${LMMS_ER_H}" COMMAND bin2res + ARGS ${lmms_EMBEDDED_RESOURCES} > "\"${LMMS_ER_H}\"" + DEPENDS bin2res) +ENDIF() # Paths relative to lmms executable FILE(RELATIVE_PATH LIB_DIR_RELATIVE "/${BIN_DIR}" "/${LIB_DIR}")