TEMPLATE = lib
VERSION = 0.0.1
CONFIG += qt debug staticlib
QT += opengl
HEADERS = defs.h\
\
common/gsl_image.h\
common/gsl_image_statistics.h\
common/gsl_matrix_helper.h\
common/gsl_matrix_derivatives.h\
common/gsl_matrix_convolutions.h\
common/parse_config.h\
common/color_spaces.h\
common/histogram.h\
common/debug.h\
common/profiler.h\
common/menger_curvature.h\
\
cuda/cuda_interface.h\
cuda/cuda_helper.h\
cuda/cuda_convolutions.h\
cuda/cuda_convolutions.cuh\
\
tv/tv_l2.h\
tv/tv_l2.cuh\
tv/tv_convex.cuh\
tv/tv_deblurring.h\
tv/tv_deblurring.cuh\
tv/tv_inpainting.h\
tv/tv_inpainting.cuh\
tv/tv_linear.h\
tv/tv_linear.cuh\
\
vtv/vtv.h\
vtv/vtv.cuh\
vtv/vtv_solvers.h\
\
tc/tc.h\
tc/tc_deblurring.h\
tc/tc_inpainting.h\
tc/tc_linear.h\
tc/tc_l2.h\
tc/tc.cuh\
tc/tc_arrays.cuh\
tc/tc_energies.cuh
SOURCES = common/gsl_image.cpp\
common/gsl_image_statistics.cpp\
common/gsl_matrix_helper.cpp\
common/gsl_matrix_derivatives.cpp\
common/gsl_matrix_convolutions.cpp\
common/parse_config.cpp\
common/color_spaces.cpp\
common/histogram.cpp\
common/debug.cpp\
common/profiler.cpp\
common/menger_curvature.cpp\
CUDA_SOURCES = cuda/cuda_interface.cu\
cuda/cuda_helper.cu\
cuda/cuda_convolutions.cu\
\
tv/tv_l2.cu\
tv/tv_l2_pd_project.cu\
tv/tv_l2_pd_semi_implicit.cu\
tv/tv_l2_fgp.cu\
tv/tv_convex.cu\
tv/tv_convex_fista.cu\
tv/tv_deblurring.cu\
tv/tv_inpainting.cu\
tv/tv_linear.cu\
\
vtv/vtv.cu\
vtv/vtv_rof.cu\
vtv/vtv_deblurring.cu\
vtv/vtv_inpainting.cu\
\
tc/tc.cu\
tc/tc_arrays.cu\
tc/tc_energies.cu\
tc/tc_l2.cu\
tc/tc_linear.cu\
tc/tc_inpainting.cu\
tc/tc_deblurring.cu
DISTFILES = README\
relink\
\
common/makefile\
cuda/makefile\
tv/makefile\
vtv/makefile\
TARGET = cocolib
# Compiler flags tuned for my system
QMAKE_CXXFLAGS += -g -O99 -pipe -Wall
NVFLAGS = -g -O99
LIBS += -lgsl -lgslcblas -lglut -lGL
OBJECTS_DIR = ./obj
# Try to change the following variable to "lib" if the linker cannot find
# the cuda library "cudart" (might be the case on 32 bit systems)
CUDA_LIBDIR = lib64
########################################################################
# CUDA
########################################################################
# auto-detect CUDA path
CUDA_DIR = $$system(which nvcc | sed 's,/bin/nvcc$,,')
INCLUDEPATH += $$CUDA_DIR/include /usr/include/qt4
QMAKE_LIBDIR += $$CUDA_DIR/$$CUDA_LIBDIR
LIBS += -lcudart
cuda.output = ${OBJECTS_DIR}${QMAKE_FILE_BASE}_cuda.obj
# DOUBLE SUPPORT
cuda.commands = nvcc --gpu-architecture sm_13 -c $$NVFLAGS -Xcompiler $$join(QMAKE_CXXFLAGS,",") $$join(INCLUDEPATH,'" -I "','-I "','"') ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT}
# NO DOUBLE SUPPORT
# cuda.commands = nvcc -c $$NVFLAGS -Xcompiler $$join(QMAKE_CXXFLAGS,",") $$join(INCLUDEPATH,'" -I "','-I "','"') ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT}
cuda.dependcy_type = TYPE_C
#following line should be ok, but gives an "unterminated 's' command" error
#cuda.depend_command = nvcc -M -Xcompiler $$join(QMAKE_CXXFLAGS,",") $$join(INCLUDEPATH,'" -I "','-I "','"') ${QMAKE_FILE_NAME} | sed "s,^.*: ,," | sed "s,^ *,," | tr -d '\\\n'
cuda.input = CUDA_SOURCES
QMAKE_EXTRA_COMPILERS += cuda
########################################################################