Skip to content
Open
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
13 changes: 13 additions & 0 deletions Makefile.defs
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,26 @@ EXTERNAL_INCLUDES += -I$(DEPTH)/external/WinBase64
EXTERNAL_LIBS = $(DEPTH)/external/miniz.o
EXTERNAL_LIBS += $(DEPTH)/external/WinBase64/libbase64.o

CONDA_PREFIX ?= $(shell printf '%s' "$$CONDA_PREFIX")
CONDA_INCLUDE_DIR = $(CONDA_PREFIX)/include
CONDA_LIB_DIR = $(CONDA_PREFIX)/lib

ifneq ($(wildcard $(CONDA_INCLUDE_DIR)/fftw3.h),)
INCLUDES += -I$(CONDA_INCLUDE_DIR)
endif

ifneq ($(CXX),)
CXX = g++
endif

CXXFLAGS = -fopenmp -Wall -Wextra -Wno-unused-parameter -std=c++17 -fPIC
STDLIBS = -lfftw3_omp -lfftw3 -lgomp

ifneq ($(wildcard $(CONDA_LIB_DIR)/libfftw3.so)$(wildcard $(CONDA_LIB_DIR)/libfftw3.a),)
STDLIBS := -L$(CONDA_LIB_DIR) $(STDLIBS) -Wl,-rpath='$(CONDA_LIB_DIR)'
RUNPATH += -Wl,-rpath='$(CONDA_LIB_DIR)'
endif

COMPVER = $(shell $(CXX) -dumpversion)
ifneq ($(findstring debug, $(SETTINGS)),)
CXXFLAGS += -Og -g -DDEBUG
Expand Down
16 changes: 14 additions & 2 deletions cmake/Modules/Findfftw.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
# Find FFTW
# Try to find the FFTW libraries

find_path(FFTW_INCLUDE_DIR fftw3.h)
find_library(FFTW_LIBRARY fftw3)
set(FFTW_HINT_INCLUDE_DIRS)
set(FFTW_HINT_LIBRARY_DIRS)

if(DEFINED ENV{CONDA_PREFIX})
list(APPEND FFTW_HINT_INCLUDE_DIRS "$ENV{CONDA_PREFIX}/include")
list(APPEND FFTW_HINT_LIBRARY_DIRS "$ENV{CONDA_PREFIX}/lib")
endif()

find_path(FFTW_INCLUDE_DIR fftw3.h
HINTS ${FFTW_HINT_INCLUDE_DIRS}
)
find_library(FFTW_LIBRARY fftw3
HINTS ${FFTW_HINT_LIBRARY_DIRS}
)

if (NOT FFTW_INCLUDE_DIR)
message(FATAL_ERROR "FFTW include directory not found.")
Expand Down
17 changes: 11 additions & 6 deletions pythonbindings/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
.PHONY: all build clean

DEPTH = ..
include $(DEPTH)/Makefile.defs

PYTHON ?= python3
MODULE = OpenPhase$(shell $(PYTHON)-config --extension-suffix)
PYBIND11_INCLUDES = $(shell $(PYTHON) -m pybind11 --includes)
LOCAL_RUNPATH = -Wl,-rpath='$$ORIGIN/../lib' -Wl,-z,origin
CONDA_RUNPATH = -Wl,-rpath='$(CONDA_LIB_DIR)'

all: build

build:
g++ -O3 -Wall -shared -fopenmp -std=c++17 -fPIC $$(python3 -m pybind11 --includes) OpenPhase.cpp -o OpenPhase$$(python3-config --extension-suffix) -I../external -I../external/WinBase64 -I../include -L../lib -lOpenPhase ../external/miniz.o ../external/WinBase64/libbase64.o -Wl,-rpath='./' -Wl,-z,origin
$(CXX) $(CXXFLAGS) -shared -fPIC $(PYBIND11_INCLUDES) OpenPhase.cpp -o $(MODULE) $(INCLUDES) $(EXTERNAL_INCLUDES) -L$(DEPTH)/lib -lOpenPhase $(EXTERNAL_LIBS) $(LOCAL_RUNPATH) $(CONDA_RUNPATH)

clean:
rm OpenPhase.cpython-39-x86_64-linux-gnu.so




rm -f $(MODULE)