diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-binary.yml deleted file mode 100644 index 59b088a..0000000 --- a/.github/workflows/build-binary.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: testjll -on: - - push - -defaults: - run: - shell: bash - -jobs: - buildjll: - name: Build JLL - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@latest - with: - version: '1.8' - arch: x64 - - name: Cache artifacts - uses: actions/cache@v2 - env: - cache-name: cache-artifacts - with: - path: ~/.julia/artifacts - key: ${{ runner.os }}-jll-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} - restore-keys: | - ${{ runner.os }}-jll-${{ env.cache-name }}- - ${{ runner.os }}-jll- - ${{ runner.os }}- - - uses: fusion-engineering/setup-git-credentials@v2 - with: - credentials: https://cxxwrapdeploy:${{secrets.DEPLOY_KEY}}@github.com/ - - name: Build JLLs - env: - GITHUB_TOKEN: ${{ secrets.DEPLOY_KEY }} - BINARYBUILDER_RUNNER: privileged - BINARYBUILDER_USE_SQUASHFS: true - BINARYBUILDER_AUTOMATIC_APPLE: true - run: | - cd .. - git config --global user.name "cxxwrapdeploy" - git config --global user.email "cxxwrapdeploy@bartjanssens.org" - julia --project=./jlqml/binarybuilder -e "using Pkg; Pkg.instantiate()" - julia --project=./jlqml/binarybuilder ./jlqml/binarybuilder/build_tarballs.jl diff --git a/application_manager.cpp b/application_manager.cpp index e845f83..2d9a870 100644 --- a/application_manager.cpp +++ b/application_manager.cpp @@ -92,8 +92,6 @@ void ApplicationManager::exec() } QObject::connect(m_engine, &QQmlEngine::exit, [this,app](const int status) { - static jlcxx::JuliaFunction stoptimer(jl_get_function(m_qml_mod, "_stoptimer")); - stoptimer(); app->exit(status); }); ForeignThreadManager::instance().clear(QThread::currentThread()); diff --git a/binarybuilder/Manifest.toml b/binarybuilder/Manifest.toml deleted file mode 100644 index 6114220..0000000 --- a/binarybuilder/Manifest.toml +++ /dev/null @@ -1,570 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.8.4" -manifest_format = "2.0" -project_hash = "13a114303de30453c847f7a8e27dc330c6600288" - -[[deps.ArgParse]] -deps = ["Logging", "TextWrap"] -git-tree-sha1 = "3102bce13da501c9104df33549f511cd25264d7d" -uuid = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" -version = "1.1.4" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.AssetRegistry]] -deps = ["Distributed", "JSON", "Pidfile", "SHA", "Test"] -git-tree-sha1 = "b25e88db7944f98789130d7b503276bc34bc098e" -uuid = "bf4720bc-e11a-5d0c-854e-bdca1663c893" -version = "0.1.0" - -[[deps.AutoHashEquals]] -git-tree-sha1 = "45bb6705d93be619b81451bb2006b7ee5d4e4453" -uuid = "15f4f7f2-30c1-5605-9d31-71845cf9641f" -version = "0.2.0" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.BinaryBuilder]] -deps = ["ArgParse", "BinaryBuilderBase", "Dates", "Downloads", "GitHub", "HTTP", "JLD2", "JSON", "LibGit2", "Libdl", "Logging", "LoggingExtras", "ObjectFile", "OutputCollectors", "Pkg", "PkgLicenses", "REPL", "Random", "Registrator", "RegistryTools", "SHA", "Scratch", "Sockets", "TOML", "UUIDs", "ghr_jll"] -git-tree-sha1 = "d3e0f34be7db381be6a4b201f7d1b2f4212a4379" -uuid = "12aac903-9f7c-5d81-afc2-d9565ea332ae" -version = "0.5.6" - -[[deps.BinaryBuilderBase]] -deps = ["CodecZlib", "Downloads", "HistoricalStdlibVersions", "InteractiveUtils", "JSON", "LibGit2", "LibGit2_jll", "Libdl", "Logging", "OrderedCollections", "OutputCollectors", "Pkg", "ProgressMeter", "Random", "SHA", "Scratch", "SimpleBufferStream", "TOML", "Tar", "UUIDs", "p7zip_jll", "pigz_jll"] -git-tree-sha1 = "4e04d408615aca7607e1f36823dacf036bc5d4d7" -uuid = "7f725544-6523-48cd-82d1-3fa08ff4056e" -version = "1.20.0" - -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.0" - -[[deps.Compat]] -deps = ["Dates", "LinearAlgebra", "UUIDs"] -git-tree-sha1 = "00a2cccc7f098ff3b66806862d275ca3db9e6e5a" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.5.0" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.1+0" - -[[deps.DataAPI]] -git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.14.0" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[deps.ExprTools]] -git-tree-sha1 = "56559bbef6ca5ea0c0818fa5c90320398a6fbf8d" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.8" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "7be5f99f7d15578798f338f5433b6c432ea8037b" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.0" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.GitForge]] -deps = ["Dates", "HTTP", "JSON3", "StructTypes", "TimeZones", "UUIDs"] -git-tree-sha1 = "79f1366c7130a92c3719b296f04e96fe90c26626" -uuid = "8f6bce27-0656-5410-875b-07a5572985df" -version = "0.4.2" - -[[deps.GitHub]] -deps = ["Base64", "Dates", "HTTP", "JSON", "MbedTLS", "Sockets", "SodiumSeal", "URIs"] -git-tree-sha1 = "08ee34cdc529bd4e631f661595c2eb695515bdbc" -uuid = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26" -version = "5.8.1" - -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "Dates", "IniFile", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "2e13c9956c82f5ae8cbdb8335327e63badb8c4ff" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.6.2" - -[[deps.Hiccup]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "6187bb2d5fcbb2007c39e7ac53308b0d371124bd" -uuid = "9fb69e20-1954-56bb-a84f-559cc56a8ff7" -version = "0.2.2" - -[[deps.HistoricalStdlibVersions]] -git-tree-sha1 = "b7a150b486eff3ed3044288e21861fc131593f76" -uuid = "6df8b67a-e8a0-4029-b4b7-ac196fe72102" -version = "0.1.0" - -[[deps.IniFile]] -git-tree-sha1 = "f550e6e32074c939295eb5ea6de31849ac2c9625" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.1" - -[[deps.InlineStrings]] -deps = ["Parsers"] -git-tree-sha1 = "0cf92ec945125946352f3d46c96976ab972bde6f" -uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" -version = "1.3.2" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "ec8a9c9f0ecb1c687e34c1fda2699de4d054672a" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.29" - -[[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.3" - -[[deps.JSON3]] -deps = ["Dates", "Mmap", "Parsers", "SnoopPrecompile", "StructTypes", "UUIDs"] -git-tree-sha1 = "84b10656a41ef564c39d2d477d7236966d2b5683" -uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" -version = "1.12.0" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "7.84.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibGit2_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] -uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.3.0+0" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LocalRegistry]] -deps = ["Pkg", "Random", "RegistryTools", "UUIDs"] -git-tree-sha1 = "9f0328205b2bdeedb734aa0a93488807ea3e2b99" -uuid = "89398ba2-070a-4b16-a995-9893c55d93cf" -version = "0.5.2" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "5d4d2d9904227b8bd66386c1138cf4d5ffa826bf" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "0.4.9" - -[[deps.Lz4_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "5d494bc6e85c4c9b626ee0cab05daa4085486ab1" -uuid = "5ced341a-0733-55b8-9ab6-a4889d929147" -version = "1.9.3+0" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.10" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.Mocking]] -deps = ["Compat", "ExprTools"] -git-tree-sha1 = "c272302b22479a24d1cf48c114ad702933414f80" -uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" -version = "0.7.5" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" - -[[deps.Mustache]] -deps = ["Printf", "Tables"] -git-tree-sha1 = "1e566ae913a57d0062ff1af54d2697b9344b99cd" -uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" -version = "1.0.14" - -[[deps.Mux]] -deps = ["AssetRegistry", "Base64", "HTTP", "Hiccup", "MbedTLS", "Pkg", "Sockets"] -git-tree-sha1 = "0bdaa479939d2a1f85e2f93e38fbccfcb73175a5" -uuid = "a975b10e-0019-58db-a62f-e48ff68538c9" -version = "1.0.1" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.ObjectFile]] -deps = ["Reexport", "StructIO"] -git-tree-sha1 = "55ce61d43409b1fb0279d1781bf3b0f22c83ab3b" -uuid = "d8793406-e978-5875-9003-1fc021f44a92" -version = "0.3.7" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" - -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "df6830e37943c7aaa10023471ca47fb3065cc3c4" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.3.2" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6e9dba33f9f2c44e08a020b0caf6903be540004" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.19+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.4.1" - -[[deps.OutputCollectors]] -git-tree-sha1 = "5d3f2b3b2e2a9d7d6f1774c78e94530ac7f360cc" -uuid = "6c11c7d4-943b-4e2b-80de-f2cfc2930a8c" -version = "0.1.1" - -[[deps.Parsers]] -deps = ["Dates", "SnoopPrecompile"] -git-tree-sha1 = "6466e524967496866901a78fca3f2e9ea445a559" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.5.2" - -[[deps.Pidfile]] -deps = ["FileWatching", "Test"] -git-tree-sha1 = "2d8aaf8ee10df53d0dfb9b8ee44ae7c04ced2b03" -uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" -version = "1.3.0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.8.0" - -[[deps.PkgLicenses]] -deps = ["Test"] -git-tree-sha1 = "0af826be249c6751a3e783c07b8cd3034f508943" -uuid = "fc669557-7ec9-5e45-bca9-462afbc28879" -version = "0.2.0" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.3.0" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.ProgressMeter]] -deps = ["Distributed", "Printf"] -git-tree-sha1 = "d7a7aef8f8f2d537104f170139553b14dfe39fe9" -uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.7.2" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.RecipesBase]] -deps = ["SnoopPrecompile"] -git-tree-sha1 = "18c35ed630d7229c5584b945641a73ca83fb5213" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.2" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.Registrator]] -deps = ["AutoHashEquals", "Base64", "Dates", "Distributed", "FileWatching", "GitForge", "GitHub", "HTTP", "JSON", "LibGit2", "Logging", "MbedTLS", "Mocking", "Mustache", "Mux", "Pkg", "RegistryTools", "Serialization", "Sockets", "TimeToLive", "URIs", "UUIDs", "ZMQ"] -git-tree-sha1 = "64a7d49e56cf609973854cdd48eb265ac418f6ee" -uuid = "4418983a-e44d-11e8-3aec-9789530b3b3e" -version = "1.6.0" - -[[deps.RegistryTools]] -deps = ["AutoHashEquals", "LibGit2", "Pkg", "SHA", "UUIDs"] -git-tree-sha1 = "47ab54eff26db6be2496e6300d959e16d8203723" -uuid = "d1eb7eb1-105f-429d-abf5-b0f65cb9e2c4" -version = "1.9.1" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "f94f779c94e58bf9ea243e77a37e16d9de9126bd" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.1.1" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" - -[[deps.SnoopPrecompile]] -git-tree-sha1 = "f604441450a3c0569830946e5b33b78c928e1a85" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.1" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SodiumSeal]] -deps = ["Base64", "Libdl", "libsodium_jll"] -git-tree-sha1 = "80cef67d2953e33935b41c6ab0a178b9987b1c99" -uuid = "2133526b-2bfb-4018-ac12-889fb3908a75" -version = "0.1.1" - -[[deps.StructIO]] -deps = ["Test"] -git-tree-sha1 = "010dc73c7146869c042b49adcdb6bf528c12e859" -uuid = "53d494c1-5632-5724-8f4c-31dff12d585f" -version = "0.3.0" - -[[deps.StructTypes]] -deps = ["Dates", "UUIDs"] -git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70" -uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" -version = "1.10.0" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.0" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "c79322d36826aa2f4fd8ecfa96ddb47b174ac78d" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.10.0" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.1" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.TextWrap]] -git-tree-sha1 = "9250ef9b01b66667380cf3275b3f7488d0e25faf" -uuid = "b718987f-49a8-5099-9789-dcd902bef87d" -version = "1.0.1" - -[[deps.TimeToLive]] -deps = ["Dates"] -git-tree-sha1 = "1f1389007d16385ec02e497bef6c2caffba99b65" -uuid = "37f0c46e-897f-50ef-b453-b26c3eed3d6c" -version = "0.3.0" - -[[deps.TimeZones]] -deps = ["Dates", "Downloads", "InlineStrings", "LazyArtifacts", "Mocking", "Printf", "RecipesBase", "Scratch", "Unicode"] -git-tree-sha1 = "a92ec4466fc6e3dd704e2668b5e7f24add36d242" -uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" -version = "1.9.1" - -[[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "e4bdc63f5c6d62e80eb1c0043fcc0360d5950ff7" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.10" - -[[deps.URIs]] -git-tree-sha1 = "ac00576f90d8a259f2c9d823e91d1de3fd44d348" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.4.1" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.XZ_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7928d348322698fb93d5c14b184fdc176c8afc82" -uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.2.9+0" - -[[deps.ZMQ]] -deps = ["FileWatching", "Sockets", "ZeroMQ_jll"] -git-tree-sha1 = "356d2bdcc0bce90aabee1d1c0f6d6f301eda8f77" -uuid = "c2297ded-f4af-51ae-bb23-16f91089e4e1" -version = "1.2.2" - -[[deps.ZeroMQ_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "libsodium_jll"] -git-tree-sha1 = "fe5c65a526f066fb3000da137d5785d9649a8a47" -uuid = "8f1865be-045e-5c20-9c9f-bfbfb0764568" -version = "4.3.4+0" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e45044cd873ded54b6a5bac0eb5c971392cf1927" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.2+0" - -[[deps.ghr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a83b3feeda837dd3f3cad19076bda0f0a524d687" -uuid = "07c12ed4-43bc-5495-8a2a-d5838ef8d533" -version = "0.14.0+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" - -[[deps.libsodium_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e" -uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" -version = "1.0.20+0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" - -[[deps.pigz_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "3c0c0b0c133b6ab53e1af05dc526091ce8781f16" -uuid = "1bc43ea1-30af-5bc8-a9d4-c018457e6e3e" -version = "2.7.0+0" - -[[deps.squashfs_tools_jll]] -deps = ["Artifacts", "JLLWrappers", "LZO_jll", "Libdl", "Lz4_jll", "Pkg", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "2814da6e221774866fe9ebc1631cc6e892ca635a" -uuid = "eed32e3e-a7c5-5bf9-9121-5cf3ab653887" -version = "4.5.1+0" diff --git a/binarybuilder/Project.toml b/binarybuilder/Project.toml deleted file mode 100644 index d25c375..0000000 --- a/binarybuilder/Project.toml +++ /dev/null @@ -1,14 +0,0 @@ -[deps] -BinaryBuilder = "12aac903-9f7c-5d81-afc2-d9565ea332ae" -BinaryBuilderBase = "7f725544-6523-48cd-82d1-3fa08ff4056e" -Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" -Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -LocalRegistry = "89398ba2-070a-4b16-a995-9893c55d93cf" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -Registrator = "4418983a-e44d-11e8-3aec-9789530b3b3e" -RegistryTools = "d1eb7eb1-105f-429d-abf5-b0f65cb9e2c4" -TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -squashfs_tools_jll = "eed32e3e-a7c5-5bf9-9121-5cf3ab653887" - -[compat] -RegistryTools = "1.3.4" diff --git a/binarybuilder/build_tarballs.jl b/binarybuilder/build_tarballs.jl deleted file mode 100644 index 2605cad..0000000 --- a/binarybuilder/build_tarballs.jl +++ /dev/null @@ -1,154 +0,0 @@ -# Adapted from the Yggdrasil build script -# Note that this script can accept some limited command-line arguments, run -# `julia build_tarballs.jl --help` to see a usage message. -using BinaryBuilder, Pkg, TOML - -# See https://github.com/JuliaLang/Pkg.jl/issues/2942 -# Once this Pkg issue is resolved, this must be removed -uuid = Base.UUID("a83860b7-747b-57cf-bf1f-3e79990d037f") -delete!(Pkg.Types.get_last_stdlibs(v"1.6.3"), uuid) - -GITHUB_REF_NAME = haskey(ENV, "GITHUB_REF_NAME") ? ENV["GITHUB_REF_NAME"] : "" - -do_deploy(refname) = (refname == "main") - -function getversion(cmakefile) - a = b = c = 0 - for l in readlines(cmakefile) - if startswith(l, "set(JlQML_VERSION") - a, b, c = parse.(Int, split(replace(split(l)[end], ")" => ""),'.')) - end - end - return VersionNumber(a, b, c) -end - -basepath = dirname(@__DIR__) - -name = "jlqml" -version = getversion(joinpath(basepath, "CMakeLists.txt")) - -julia_versions = do_deploy(GITHUB_REF_NAME) ? [v"1.6.3", v"1.8.0", v"1.10.0"] : [v"1.8.0"] - -# Collection of sources required to complete build -sources = [ - DirectorySource(basepath; target = name) -] - -# Bash recipe for building across all platforms -script = raw""" -# Override compiler ID to silence the horrible "No features found" cmake error -if [[ $target == *"apple-darwin"* ]]; then - macos_extra_flags="-DCMAKE_CXX_COMPILER_ID=AppleClang -DCMAKE_CXX_COMPILER_VERSION=10.0.0 -DCMAKE_CXX_STANDARD_COMPUTED_DEFAULT=11" -fi - -mkdir build -cd build -cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_FIND_ROOT_PATH=${prefix} \ - -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} \ - -DJulia_PREFIX=${prefix} \ - $macos_extra_flags \ - ../jlqml/ -VERBOSE=ON cmake --build . --config Release --target install -- -j${nproc} -install_license $WORKSPACE/srcdir/jlqml*/LICENSE.md -""" - -# These are the platforms we will build for by default, unless further -# platforms are passed in on the command line - -function libjulia_platforms(julia_version) - platforms = supported_platforms(; experimental = julia_version ≥ v"1.7") - - filter!(p -> libc(p) != "musl" && arch(p) != "i686" && !contains(arch(p), "arm") && arch(p) != "aarch64" && arch(p) != "powerpc64le" && !Sys.isfreebsd(p), platforms) - - for p in platforms - p["julia_version"] = string(julia_version) - end - - platforms = expand_cxxstring_abis(platforms) - - filter!(p -> cxxstring_abi(p) != "cxx03", platforms) - - return platforms -end - -platforms = vcat(libjulia_platforms.(julia_versions)...) -if !do_deploy(GITHUB_REF_NAME) - filter!(Sys.islinux, platforms) -end - -# The products that we will ensure are always built -products = [ - LibraryProduct("libjlqml", :libjlqml), -] - -# Dependencies that must be installed before this package can be built -dependencies = [ - Dependency("libcxxwrap_julia_jll"), - Dependency("Qt6Base_jll"; compat="6.4.2"), - Dependency("Qt6ShaderTools_jll", compat="6.4.2"), - Dependency("Qt6Declarative_jll", compat="6.4.2"), - HostBuildDependency("Qt6Declarative_jll"), - Dependency("Qt6Svg_jll", compat="6.4.2"), - BuildDependency("Libglvnd_jll"), - BuildDependency("libjulia_jll"), -] - -GITHUB_REF_NAME = haskey(ENV, "GITHUB_REF_NAME") ? ENV["GITHUB_REF_NAME"] : "" -deployingargs = deepcopy(ARGS) -if !isempty(GITHUB_REF_NAME) && !do_deploy(GITHUB_REF_NAME) - push!(deployingargs, "--deploy=local") -end - -# Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(deployingargs, name, version, sources, script, platforms, products, dependencies; - preferred_gcc_version = v"9", julia_compat = "1.6") - -if do_deploy(GITHUB_REF_NAME) - const testreg = "https://github.com/barche/CxxWrapTestRegistry.git" - - const repo = "barche/jlqml_jll.jl" - - Pkg.Registry.add(RegistrySpec(url = testreg)) - Pkg.develop(PackageSpec(url = "https://github.com/$(repo).git")) - - jlqml_jll_project_toml = TOML.parsefile(joinpath(Pkg.devdir(), "jlqml_jll", "Project.toml")) - build_version = parse(VersionNumber, jlqml_jll_project_toml["version"]) - if version == VersionNumber(build_version.major, build_version.minor, build_version.patch) - build_version = VersionNumber(build_version.major, build_version.minor, build_version.patch, (), build_version.build .+ 1) - else - build_version = version - end - - mktemp() do jsonfile, _ - push!(deployingargs, "--meta-json=$jsonfile") - build_tarballs(deployingargs, name, version, sources, script, platforms, products, dependencies; - preferred_gcc_version = v"9", julia_compat = "1.6") - - json = String(read(jsonfile)) - buff = IOBuffer(strip(json)) - objs = [] - while !eof(buff) - push!(objs, BinaryBuilder.JSON.parse(buff)) - end - json_obj = objs[1] - - BinaryBuilder.cleanup_merged_object!(json_obj) - json_obj["dependencies"] = BinaryBuilder.AbstractDependency[dep for dep in json_obj["dependencies"] if !isa(dep, BuildDependency)] - - tag = "$(name)-v$(build_version)" - upload_prefix = "https://github.com/$(repo)/releases/download/$(tag)" - - download_dir = "products" - BinaryBuilder.rebuild_jll_package(json_obj; download_dir, upload_prefix, build_version) - BinaryBuilder.push_jll_package(name, build_version; deploy_repo = repo) - BinaryBuilder.upload_to_github_releases(repo, tag, download_dir; verbose = true) - end - - Pkg.develop("jlqml_jll") - import jlqml_jll - using LocalRegistry - register(jlqml_jll, registry = testreg) -end diff --git a/julia_function.cpp b/julia_function.cpp index 44300e8..49e55a9 100644 --- a/julia_function.cpp +++ b/julia_function.cpp @@ -6,6 +6,8 @@ namespace qmlwrap { +jl_module_t* JuliaFunction::m_qml_mod = nullptr; + JuliaFunction::JuliaFunction(const QString& name, jl_function_t* f, QObject* parent) : QObject(parent), m_name(name), m_f(f) { jlcxx::protect_from_gc(m_f); @@ -19,7 +21,7 @@ JuliaFunction::~JuliaFunction() QVariant JuliaFunction::call(const QVariantList& args) { using call_julia_func_t = void* (*) (jl_value_t*, const void*); - static call_julia_func_t call_func = reinterpret_cast(jlcxx::unbox(jlcxx::JuliaFunction("get_julia_call", "QML")())); + static call_julia_func_t call_func = reinterpret_cast(jlcxx::unbox(jlcxx::JuliaFunction(jl_get_function(m_qml_mod, "get_julia_call"))())); QVariant result_var = *reinterpret_cast(call_func(m_f, &args)); return result_var; } diff --git a/julia_function.hpp b/julia_function.hpp index 044b210..47ff426 100644 --- a/julia_function.hpp +++ b/julia_function.hpp @@ -16,6 +16,8 @@ class JuliaFunction : public QObject { Q_OBJECT public: + static jl_module_t* m_qml_mod; + JuliaFunction(const QString& name, jl_function_t* f, QObject* parent); // Call a Julia function that takes any number of arguments as a list diff --git a/wrap_qml.cpp b/wrap_qml.cpp index 2d075d6..25a429c 100644 --- a/wrap_qml.cpp +++ b/wrap_qml.cpp @@ -283,10 +283,11 @@ JLCXX_MODULE define_julia_module(jlcxx::Module& qml_module) using namespace jlcxx; // Set pointers to Julia QML module in the classes that use it + qmlwrap::JuliaFunction::m_qml_mod = qml_module.julia_module(); qmlwrap::ApplicationManager::m_qml_mod = qml_module.julia_module(); qmlwrap::JuliaItemModel::m_qml_mod = qml_module.julia_module(); qmlwrap::MakieViewport::m_qml_mod = qml_module.julia_module(); - + // Enums qml_module.add_bits("Orientation", jlcxx::julia_type("CppEnum")); qml_module.set_const("Horizontal", Qt::Horizontal); @@ -337,6 +338,7 @@ JLCXX_MODULE define_julia_module(jlcxx::Module& qml_module) qml_module.add_type("QCoreApplication", julia_base_type()); qml_module.add_type("QGuiApplication", julia_base_type()) .constructor(); + qml_module.method("quit", [] () { QGuiApplication::instance()->quit(); }); qml_module.add_type("QString", julia_type("AbstractString")) .method("cppsize", &QString::size);