Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ jobs:
run: cmake --build ${{ github.workspace }}/build
- name: Test
run: ctest -C ${{ env.build_type }} -VV --test-dir ${{ github.workspace }}/build --output-on-failure
- name: Package
run: cpack --config ${{ github.workspace }}/build/CPackConfig.cmake
- name: Artifact
uses: actions/upload-artifact@v7.0.0
with:
Expand All @@ -93,18 +95,20 @@ jobs:
submodules: recursive
- uses: mozilla-actions/sccache-action@v0.0.9
- run: choco install imagemagick -fy -d
- run: choco install innosetup -fy -d
- run: choco install wixtoolset -fy -d
- name: Configure
run: cmake -B ${{ github.workspace }}/build -G "Visual Studio 17 2022" -A x64 -DPARTIELS_BUILD_TAG="${{ env.tag_name }}" -DImageMagick_DIR=PATH:"C:/Program Files/ImageMagick-7.1.1-Q16-HDRI"
- name: Build
run: cmake --build ${{ github.workspace }}/build --config ${{ env.build_type }}
- name: Test
run: ctest -C ${{ env.build_type }} -VV --test-dir ${{ github.workspace }}/build --output-on-failure
- name: Package
run: cpack --config ${{ github.workspace }}/build/CPackConfig.cmake -C ${{ env.build_type }}
- name: Artifact
uses: actions/upload-artifact@v7.0.0
with:
name: Partiels-Windows
path: ${{ github.workspace }}/build/Partiels-Windows.exe
path: ${{ github.workspace }}/build/Partiels-Windows.msi
- name: Release
uses: softprops/action-gh-release@v2
if: ${{ env.is_tagged == 'true' }}
Expand All @@ -114,7 +118,7 @@ jobs:
fail_on_unmatched_files: true
generate_release_notes: true
body_path: ${{ github.workspace }}/build/Partiels-Release.md
files: ${{ github.workspace }}/build/Partiels-Windows.exe
files: ${{ github.workspace }}/build/Partiels-Windows.msi
# Compiles, tests and packages the plugin for MacOS.
MacOS:
runs-on: macos-latest
Expand All @@ -125,10 +129,6 @@ jobs:
with:
submodules: recursive
- uses: mozilla-actions/sccache-action@v0.0.9
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm install -g appdmg
- run: brew install imagemagick
- name: Prepare
run: |
Expand Down Expand Up @@ -159,7 +159,7 @@ jobs:
set -o pipefail && xcodebuild archive -project "${{ github.workspace }}/build/Partiels.xcodeproj" -configuration ${{ env.build_type }} -scheme "Partiels" -archivePath "${{ github.workspace }}/build/Partiels.xcarchive" -destination platform=macOS | xcbeautify --renderer github-actions --disable-logging
- name: Test
run: |
rm ${{ github.workspace }}/build/Partiels_artefacts/${{ env.build_type }}/Partiels.app
rm -rf ${{ github.workspace }}/build/Partiels_artefacts/${{ env.build_type }}/Partiels.app
cp -r ${{ github.workspace }}/build/Partiels.xcarchive/Products/Applications/Partiels.app ${{ github.workspace }}/build/Partiels_artefacts/${{ env.build_type }}
ctest -C ${{ env.build_type }} -VV --test-dir ${{ github.workspace }}/build --output-on-failure
- name: Export
Expand All @@ -173,11 +173,11 @@ jobs:
xcrun notarytool log $notaryid --keychain-profile "notary-installer"
xcrun stapler staple "${{ github.workspace }}/build/Partiels.app"
xcrun stapler validate "${{ github.workspace }}/build/Partiels.app"
- name: Build Disk Image
- name: Package Disk Image
run: |
appdmg "${{ github.workspace }}/BinaryData/Resource/macos-dmg-config.json" "${{ github.workspace }}/build/Partiels-MacOS.dmg"
xcrun rez -append "${{ github.workspace }}/BinaryData/Resource/macos-dmg-icon.rsrc" -o "${{ github.workspace }}/build/Partiels-MacOS.dmg"
xcrun setFile -a C "${{ github.workspace }}/build/Partiels-MacOS.dmg"
rm -rf ${{ github.workspace }}/build/Partiels_artefacts/${{ env.build_type }}/Partiels.app
cp -r "${{ github.workspace }}/build/Partiels.app" "${{ github.workspace }}/build/Partiels_artefacts/${{ env.build_type }}/Partiels.app"
cpack --config "${{ github.workspace }}/build/CPackConfig.cmake" -C ${{ env.build_type }}
- name: Notarize Disk Image
run: |
xcrun notarytool submit "${{ github.workspace }}/build/Partiels-MacOS.dmg" --keychain-profile "notary-installer" --wait > "${{ github.workspace }}/build/notarize.log" 2>&1
Expand Down
145 changes: 77 additions & 68 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,16 @@ if(NOT PARTIELS_MANUAL_ONLY)
juce_add_bundle_resources_directory(Partiels ${CMAKE_CURRENT_BINARY_DIR}/Preset/)
juce_add_bundle_resources_directory(Partiels ${CMAKE_CURRENT_BINARY_DIR}/Translations/)
juce_add_bundle_resources_directory(Partiels ${CMAKE_CURRENT_BINARY_DIR}/Scripts/)
add_custom_command(TARGET Partiels POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_BUNDLE_DIR:Partiels>/Contents/Resources/Templates"
COMMAND ${CMAKE_COMMAND} -E copy "${PARTIELS_BINARYDATA_DIRECTORY}/Resource/FactoryTemplate.ptldoc" "$<TARGET_BUNDLE_DIR:Partiels>/Contents/Resources/Templates"
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_BUNDLE_DIR:Partiels>/Contents/Resources/Preset"
COMMAND ${CMAKE_COMMAND} -E copy "${PARTIELS_BINARYDATA_DIRECTORY}/Preset/Partiels.trackpresets.settings" "$<TARGET_BUNDLE_DIR:Partiels>/Contents/Resources/Preset"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${PARTIELS_BINARYDATA_DIRECTORY}/Translations/" "$<TARGET_BUNDLE_DIR:Partiels>/Contents/Resources/Translations/"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_BINARY_DIR}/Scripts/" "$<TARGET_BUNDLE_DIR:Partiels>/Contents/Resources/Scripts/"
)
else()
add_custom_command(TARGET Partiels POST_BUILD
add_custom_command(TARGET Partiels POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:Partiels>/PlugIns"
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:partiels-vamp-plugins>" "$<TARGET_FILE_DIR:Partiels>/PlugIns"
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE_DIR:partiels-vamp-plugins>/partiels-vamp-plugins.cat" "$<TARGET_FILE_DIR:Partiels>/PlugIns"
Expand All @@ -283,46 +291,36 @@ if(NOT PARTIELS_MANUAL_ONLY)
)
endif()

if(WIN32)
set(PARTIELS_PACKAGE_OUTDIR "${CMAKE_CURRENT_BINARY_DIR}")
file(MAKE_DIRECTORY ${PARTIELS_PACKAGE_OUTDIR})
cmake_path(NATIVE_PATH PARTIELS_PACKAGE_OUTDIR PARTIELS_PACKAGE_DIR_NAT)
set(PARTIELS_PACKAGE_OUTEXE "${PARTIELS_PACKAGE_OUTDIR}/Partiels-Windows.exe")
cmake_path(NATIVE_PATH PARTIELS_PACKAGE_OUTEXE PARTIELS_PACKAGE_OUTEXE_NAT)
set(PARTIELS_PACKAGE_TEMPDIR "${CMAKE_CURRENT_BINARY_DIR}/Package")
cmake_path(NATIVE_PATH PARTIELS_PACKAGE_TEMPDIR PARTIELS_PACKAGE_TEMPDIR_NAT)
set(PARTIELS_ISS_FILE "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/windows-package.iss")
cmake_path(NATIVE_PATH PARTIELS_ISS_FILE PARTIELS_ISS_FILE_NAT)
set(PARTIELS_PACKAGE_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/PartielsPackage.bat")

file(MAKE_DIRECTORY ${PARTIELS_PACKAGE_TEMPDIR})
file(MAKE_DIRECTORY ${PARTIELS_PACKAGE_TEMPDIR}/PlugIns)
file(MAKE_DIRECTORY ${PARTIELS_PACKAGE_TEMPDIR}/Preset)
file(MAKE_DIRECTORY ${PARTIELS_PACKAGE_TEMPDIR}/Templates)
file(MAKE_DIRECTORY ${PARTIELS_PACKAGE_TEMPDIR}/Translations)
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/Install.txt DESTINATION ${PARTIELS_PACKAGE_TEMPDIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/Ircam-logo-noir-RS.bmp DESTINATION ${PARTIELS_PACKAGE_TEMPDIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/About.txt DESTINATION ${PARTIELS_PACKAGE_TEMPDIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/ChangeLog.txt DESTINATION ${PARTIELS_PACKAGE_TEMPDIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Translations/ DESTINATION ${PARTIELS_PACKAGE_TEMPDIR}/Translations/)

find_program(ISCC_EXE "iscc" HINTS "C:/Program Files (x86)/Inno Setup 6" REQUIRED)
cmake_path(NATIVE_PATH ISCC_EXE ISCC_EXE_NAT)

add_custom_command(TARGET Partiels POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:Partiels>" "${PARTIELS_PACKAGE_TEMPDIR}"
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:partiels-vamp-plugins>" "${PARTIELS_PACKAGE_TEMPDIR}/PlugIns"
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE_DIR:partiels-vamp-plugins>/partiels-vamp-plugins.cat" "${PARTIELS_PACKAGE_TEMPDIR}/PlugIns"
COMMAND ${CMAKE_COMMAND} -E copy "${PARTIELS_BINARYDATA_DIRECTORY}/Preset/Partiels.trackpresets.settings" "${PARTIELS_PACKAGE_TEMPDIR}/Preset"
COMMAND ${CMAKE_COMMAND} -E copy "${PARTIELS_BINARYDATA_DIRECTORY}/Resource/FactoryTemplate.ptldoc" "${PARTIELS_PACKAGE_TEMPDIR}/Templates"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_BINARY_DIR}/Scripts/" "${PARTIELS_PACKAGE_TEMPDIR}/Scripts/"
)
file(WRITE ${PARTIELS_PACKAGE_SCRIPT} "\"${ISCC_EXE_NAT}\" /DMyAppVerName=\"${PARTIELS_BUILD_TAG}\" /DMyBinaryDir=\"${PARTIELS_PACKAGE_TEMPDIR_NAT}\" /O\"${PARTIELS_PACKAGE_DIR_NAT}\" \"${PARTIELS_ISS_FILE_NAT}\"\n")
### CPack ###
set(CPACK_PACKAGE_NAME "Partiels")
set(CPACK_PACKAGE_VENDOR "Ircam")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Partiels - Multi-analysis Application")
set(CPACK_PACKAGE_VERSION "${PARTIELS_BUILD_TAG}")
set(CPACK_PACKAGE_VERSION_MAJOR ${PARTIELS_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PARTIELS_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PARTIELS_VERSION_PATCH})
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Partiels")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/Install.txt")

if(WIN32)
install(TARGETS Partiels RUNTIME DESTINATION ".")
install(FILES "$<TARGET_FILE:partiels-vamp-plugins>" DESTINATION "PlugIns")
install(FILES "$<TARGET_FILE_DIR:partiels-vamp-plugins>/partiels-vamp-plugins.cat" DESTINATION "PlugIns")
install(FILES "${PARTIELS_BINARYDATA_DIRECTORY}/Preset/Partiels.trackpresets.settings" DESTINATION "Preset")
install(FILES "${PARTIELS_BINARYDATA_DIRECTORY}/Resource/FactoryTemplate.ptldoc" DESTINATION "Templates")
install(DIRECTORY "${PARTIELS_BINARYDATA_DIRECTORY}/Translations/" DESTINATION "Translations")
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Scripts/" DESTINATION "Scripts")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/About.txt" DESTINATION ".")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/ChangeLog.txt" DESTINATION ".")
set(CPACK_GENERATOR "WIX")
set(CPACK_PACKAGE_FILE_NAME "Partiels-Windows")
set(CPACK_WIX_UPGRADE_GUID "2BE88D38-04D3-44AE-B6F6-2D78BD410D58")
set(CPACK_WIX_INSTALL_SCOPE "perMachine")
set(CPACK_WIX_PROGRAM_MENU_FOLDER "Partiels")
if(PARTIELS_NOTARIZE)
file(GLOB_RECURSE SIGNTOOL_CANDIDATES
"$ENV{ProgramFiles}/Windows Kits/10/bin/*/x64/signtool.exe"
"$ENV{ProgramFiles\(x86\)}/Windows Kits/10/bin/*/x64/signtool.exe"
"$ENV{ProgramFiles}/Windows Kits/10/bin/*/x64/signtool.exe"
"$ENV{ProgramFiles\(x86\)}/Windows Kits/10/bin/*/x64/signtool.exe"
)
foreach(SIGNTOOL_CANDIDATE IN LISTS SIGNTOOL_CANDIDATES)
get_filename_component(SIGNTOOL_CANDIDATE_DIR ${SIGNTOOL_CANDIDATE} DIRECTORY)
Expand All @@ -331,38 +329,49 @@ if(NOT PARTIELS_MANUAL_ONLY)
find_program(SIGNTOOL_EXE "signtool" HINTS ${SIGNTOOL_CANDIDATE_DIRS} REQUIRED)
cmake_path(NATIVE_PATH SIGNTOOL_EXE SIGNTOOL_EXE_NAT)
cmake_path(NATIVE_PATH PARTIELS_CODESIGN_WINDOWS_KEYFILE PARTIELS_CODESIGN_WINDOWS_KEYFILE_NAT)
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "\"${SIGNTOOL_EXE_NAT}\" sign /f \"${PARTIELS_CODESIGN_WINDOWS_KEYFILE_NAT}\" /p \"${PARTIELS_CODESIGN_WINDOWS_KEYPASSWORD}\" /fd SHA256 /td SHA256 /tr http://timestamp.sectigo.com \"${PARTIELS_PACKAGE_OUTEXE_NAT}\"\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "\"${SIGNTOOL_EXE_NAT}\" verify /pa \"${PARTIELS_PACKAGE_OUTEXE_NAT}\"\n")
set(PARTIELS_PACKAGE_OUTMSI "${CMAKE_CURRENT_BINARY_DIR}/Partiels-Windows.msi")
cmake_path(NATIVE_PATH PARTIELS_PACKAGE_OUTMSI PARTIELS_PACKAGE_OUTMSI_NAT)
add_custom_target(PartielsSign
COMMAND "${SIGNTOOL_EXE_NAT}" sign /f "${PARTIELS_CODESIGN_WINDOWS_KEYFILE_NAT}" /p "${PARTIELS_CODESIGN_WINDOWS_KEYPASSWORD}" /fd SHA256 /td SHA256 /tr "${TIMESTAMP_SERVER_URL}" "${PARTIELS_PACKAGE_OUTMSI_NAT}"
COMMAND "${SIGNTOOL_EXE_NAT}" verify /pa "${PARTIELS_PACKAGE_OUTMSI_NAT}"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
endif()

add_custom_target(PartielsPackage ALL COMMAND ${PARTIELS_PACKAGE_SCRIPT})
add_dependencies(PartielsPackage Partiels)
elseif(UNIX AND NOT APPLE)
set(PARTIELS_PACKAGE_DIR ${CMAKE_CURRENT_BINARY_DIR}/Partiels)
set(PARTIELS_PACKAGE_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/PartielsPackage.sh)
file(WRITE ${PARTIELS_PACKAGE_SCRIPT} "#!/bin/sh\n\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "PARTIELS_BINARY_PATH=$1\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "rm -rf ${PARTIELS_PACKAGE_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "mkdir -p ${PARTIELS_PACKAGE_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp $PARTIELS_BINARY_PATH/Partiels ${PARTIELS_PACKAGE_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp -r $PARTIELS_BINARY_PATH/PlugIns ${PARTIELS_PACKAGE_DIR}/PlugIns\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp -r $PARTIELS_BINARY_PATH/Preset ${PARTIELS_PACKAGE_DIR}/Preset\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp -r $PARTIELS_BINARY_PATH/Templates ${PARTIELS_PACKAGE_DIR}/Templates\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp -r $PARTIELS_BINARY_PATH/Translations ${PARTIELS_PACKAGE_DIR}/Translations\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp -r $PARTIELS_BINARY_PATH/Scripts ${PARTIELS_PACKAGE_DIR}/Scripts\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/icon.png ${PARTIELS_PACKAGE_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/Partiels.desktop ${PARTIELS_PACKAGE_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/About.txt ${PARTIELS_PACKAGE_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/ChangeLog.txt ${PARTIELS_PACKAGE_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cp ${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/linux-install.sh ${PARTIELS_PACKAGE_DIR}/Partiels-install.sh\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "cd ${CMAKE_CURRENT_BINARY_DIR}\n")
file(APPEND ${PARTIELS_PACKAGE_SCRIPT} "tar zcvf Partiels-Linux.tar.gz Partiels\n")
file(CHMOD ${PARTIELS_PACKAGE_SCRIPT} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

add_custom_target(PartielsPackage ALL COMMAND ${PARTIELS_PACKAGE_SCRIPT} $<TARGET_FILE_DIR:Partiels>)
add_dependencies(PartielsPackage Partiels)
elseif(APPLE)
install(TARGETS Partiels BUNDLE DESTINATION ".")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/About.txt" DESTINATION ".")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/ChangeLog.txt" DESTINATION ".")
set(CPACK_GENERATOR "DragNDrop")
set(CPACK_PACKAGE_FILE_NAME "Partiels-MacOS")
set(CPACK_DMG_VOLUME_NAME "Partiels")
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/macos-dmg-icon.icns")
set(CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/macos-dmg-background.png")
else()
install(TARGETS Partiels RUNTIME DESTINATION ".")
install(FILES "$<TARGET_FILE:partiels-vamp-plugins>" DESTINATION "PlugIns")
install(FILES "$<TARGET_FILE_DIR:partiels-vamp-plugins>/partiels-vamp-plugins.cat" DESTINATION "PlugIns")
install(FILES "${PARTIELS_BINARYDATA_DIRECTORY}/Preset/Partiels.trackpresets.settings" DESTINATION "Preset")
install(FILES "${PARTIELS_BINARYDATA_DIRECTORY}/Resource/FactoryTemplate.ptldoc" DESTINATION "Templates")
install(DIRECTORY "${PARTIELS_BINARYDATA_DIRECTORY}/Translations/" DESTINATION "Translations")
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Scripts/" DESTINATION "Scripts")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/icon.png" DESTINATION ".")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/Partiels.desktop" DESTINATION ".")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/About.txt" DESTINATION ".")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/ChangeLog.txt" DESTINATION ".")
install(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/BinaryData/Resource/linux-install.sh" DESTINATION "." RENAME "Partiels-install.sh")
set(CPACK_GENERATOR "TGZ")
set(CPACK_PACKAGE_FILE_NAME "Partiels-Linux")
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
endif()

include(CPack)

add_custom_target(PartielsPackage
COMMAND ${CMAKE_CPACK_COMMAND} --config "${CMAKE_BINARY_DIR}/CPackConfig.cmake" -C "$<CONFIG>"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
)
add_dependencies(PartielsPackage Partiels)

### Format ###
find_program(CLANG_FORMAT_EXE "clang-format" HINTS "C:/Program Files/LLVM/bin")
if(CLANG_FORMAT_EXE)
Expand Down Expand Up @@ -409,7 +418,7 @@ add_custom_target(PartielsPatchs COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${CMAKE_
### Publishing ###
set(PROJECT_URL "https://github.com/Ircam-Partiels/Partiels")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Partiels-Release.md "## Downloads\n")
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Partiels-Release.md "### Partiels: [Linux](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Linux.tar.gz) / [MacOS](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-MacOS.dmg) / [Windows](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Windows.exe) / [Manual](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Manual.pdf) / [Patchs](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Patchs.zip)\n")
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Partiels-Release.md "### Partiels: [Linux](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Linux.tar.gz) / [MacOS](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-MacOS.dmg) / [Windows](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Windows.msi) / [Manual](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Manual.pdf) / [Patchs](${PROJECT_URL}/releases/download/${PARTIELS_BUILD_TAG}/Partiels-Patchs.zip)\n")

file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Partiels-Release.md "### Vamp Plugins:\n")

Expand Down
Loading