From c08a7742165ffe7c5cfa3200e835bef841ac79b4 Mon Sep 17 00:00:00 2001 From: Eric <5089238+emizzle@users.noreply.github.com> Date: Wed, 15 Oct 2025 18:15:03 +1100 Subject: [PATCH] build dylib for macos --- Makefile | 3 +++ build.nims | 17 ++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 144bf2ab..4ec12fb5 100644 --- a/Makefile +++ b/Makefile @@ -264,6 +264,9 @@ ifeq ($(STATIC), 1) else ifeq ($(detected_OS),Windows) echo -e $(BUILD_MSG) "build/$@.dll" && \ $(ENV_SCRIPT) nim libcodexDynamic $(NIM_PARAMS) -d:LeopardCmakeFlags="\"-G \\\"MSYS Makefiles\\\" -DCMAKE_BUILD_TYPE=Release\"" codex.nims +else ifeq ($(detected_OS),macOS) + echo -e $(BUILD_MSG) "build/$@.dylib" && \ + $(ENV_SCRIPT) nim libcodexDynamic $(NIM_PARAMS) -d:LeopardCmakeFlags="\"-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release\"" codex.nims else echo -e $(BUILD_MSG) "build/$@.so" && \ $(ENV_SCRIPT) nim libcodexDynamic $(NIM_PARAMS) -d:LeopardCmakeFlags="\"-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release\"" codex.nims diff --git a/build.nims b/build.nims index f7801052..642caf67 100644 --- a/build.nims +++ b/build.nims @@ -30,13 +30,16 @@ proc buildLibrary(name: string, srcDir = "./", params = "", `type` = "dynamic") mkDir "build" if `type` == "dynamic": - let lib_name = (when defined(windows): name & ".dll" else: name & ".so") - exec "nim c" & " --out:build/" & lib_name & " --threads:on --app:lib --opt:size --noMain --mm:refc --header --d:metrics " & - "--nimMainPrefix:libcodex -d:noSignalHandler " & - "-d:LeopardExtraCompilerFlags=-fPIC " & - "-d:chronicles_runtime_filtering " & - "-d:chronicles_log_level=TRACE " & - params & " " & srcDir & name & ".nim" + let lib_name = ( + when defined(windows): name & ".dll" + elif defined(macosx): name & ".dylib" + else: name & ".so" + ) + exec "nim c" & " --out:build/" & lib_name & + " --threads:on --app:lib --opt:size --noMain --mm:refc --header --d:metrics " & + "--nimMainPrefix:libcodex -d:noSignalHandler " & + "-d:LeopardExtraCompilerFlags=-fPIC " & "-d:chronicles_runtime_filtering " & + "-d:chronicles_log_level=TRACE " & params & " " & srcDir & name & ".nim" else: exec "nim c" & " --out:build/" & name & ".a --threads:on --app:staticlib --opt:size --noMain --mm:refc --header --d:metrics " &