@@ -17,14 +17,20 @@ option(APR_TESTS "Build APR tests" OFF)
1717option (APR_PREFER_EXTERNAL_GTEST "When found, use the installed GTEST libs instead of included sources" OFF )
1818option (APR_PREFER_EXTERNAL_BLOSC "When found, use the installed BLOSC libs instead of included sources" OFF )
1919option (APR_BUILD_JAVA_WRAPPERS "Build APR JAVA wrappers" OFF )
20- option (APR_BUILD_PYTHON_WRAPPERS "Build APR PYTHON wrappers" ON )
20+ option (APR_BUILD_PYTHON_WRAPPERS "Build APR PYTHON wrappers (experimental - under development)" OFF )
2121option (APR_USE_CUDA "should APR use CUDA? (experimental - under development)" OFF )
22+ option (APR_USE_OPENMP "should APR use OpenMP?" ON )
2223option (APR_BENCHMARK "add benchmarking code" OFF )
2324
2425# Validation of options
2526if (NOT APR_BUILD_SHARED_LIB AND NOT APR_BUILD_STATIC_LIB)
2627 message (FATAL_ERROR "At least one target: APR_BUILD_SHARED_LIB or APR_BUILD_STATIC_LIB must be build!" )
2728endif ()
29+ if (NOT APR_USE_LIBTIFF)
30+ if (APR_TESTS OR APR_BUILD_EXAMPLES OR APR_BUILD_JAVA_WRAPPERS)
31+ message (FATAL_ERROR "Building tests, examples or java wrappers not possible when APR_USE_LIBTIFF=OFF!" )
32+ endif ()
33+ endif ()
2834
2935list (APPEND CMAKE_MODULE_PATH
3036 ${CMAKE_CURRENT_SOURCE_DIR} /cmake/
@@ -35,7 +41,7 @@ list(APPEND CMAKE_MODULE_PATH
3541###############################################################################
3642set (APR_VERSION_MAJOR 1)
3743set (APR_VERSION_MINOR 0)
38- set (APR_VERSION_PATCH 1 )
44+ set (APR_VERSION_PATCH 2 )
3945set (APR_VERSION_STRING ${APR_VERSION_MAJOR} .${APR_VERSION_MINOR} .${APR_VERSION_PATCH} )
4046execute_process (COMMAND git rev-parse HEAD
4147 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
@@ -58,13 +64,11 @@ if(APR_USE_LIBTIFF)
5864 find_package (TIFF)
5965 set (CMAKE_C_FLAGS "${CMAKE_CFLAGS} -DHAVE_LIBTIFF" )
6066 set (CMAKE_CXX_FLAGS "${CMAKE_CXXFLAGS} -DHAVE_LIBTIFF" )
61- else ()
62- message (WARNING "LibTIFF support disable, this disables TIFF writing functionality." )
6367endif ()
6468
6569# Handle OpenMP
6670find_package (OpenMP)
67- if (NOT OPENMP_FOUND OR DISABLE_OPENMP )
71+ if (NOT OPENMP_FOUND OR NOT APR_USE_OPENMP )
6872 message (WARNING "OpenMP support not found or disabled with current compiler. While APR can compile like this, performance might not be optimal. Please see README.md for instructions." )
6973else ()
7074 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_OPENMP ${OpenMP_C_FLAGS} " )
@@ -97,24 +101,31 @@ endif()
97101# Add submodule GLM (include files only)
98102include_directories ("external/glm" )
99103
104+ #message(STATUS "---------------------- VARS BEG ---------------------")
105+ #get_cmake_property(_variableNames VARIABLES)
106+ #foreach (_variableName ${_variableNames})
107+ # message(STATUS "${_variableName}=${${_variableName}}")
108+ #endforeach()
109+ #message(STATUS "---------------------- VARS END ---------------------")
100110
101111###############################################################################
102112# Configure compiler options
103113###############################################################################
104114# If you ever want to compile with Intel's icc (or any other compiler) provide
105115# compiler names/paths in cmake command like this:
106116# CC="icc" CXX="icc" CXXFLAGS="-O3" cmake -DAPR_TESTS=1
107- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -pedantic" )
117+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -pedantic " )
108118if (CMAKE_COMPILER_IS_GNUCC)
109119 set (CMAKE_CXX_FLAGS_RELEASE "-O4 -ffast-math" )
110120 set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g" )
111121 set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Bdynamic" )
112122 if (NOT WIN32 )
113- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ldl" )
123+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ldl -lz " )
114124 endif ()
115125elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
116126 set (CMAKE_CXX_FLAGS_RELEASE "-O3 -ffast-math" )
117127 set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g" )
128+ # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lz")
118129endif ()
119130
120131if (APR_BENCHMARK)
@@ -132,14 +143,14 @@ set(LIBRARY_NAME apr)
132143include_directories (src)
133144
134145set (SOURCE_FILES src/io/blosc_filter.c src/io/hdf5functions_blosc.cpp)
135- set (SOURCE_FILES_RAYCAST src/numerics/APRRaycaster.cpp src/vis/Camera.cpp src/vis/Object.cpp src/vis/RaytracedObject.cpp)
146+ # set(SOURCE_FILES_RAYCAST src/numerics/APRRaycaster.cpp src/vis/Camera.cpp src/vis/Object.cpp src/vis/RaytracedObject.cpp)
136147
137148add_library (aprObjLib OBJECT ${SOURCE_FILES} ${SOURCE_FILES_RAYCAST} )
138149
139150if (APR_USE_CUDA)
140151 message (STATUS "APR: Building CUDA for APR" )
141152 set (CMAKE_CUDA_STANDARD 14)
142- set (CMAKE_CUDA_FLAGS "--cudart shared -g -lineinfo -Xptxas -O3,-v -use_fast_math -DAPR_USE_CUDA" )
153+ set (CMAKE_CUDA_FLAGS "--default-stream per-thread -- cudart shared -g -lineinfo -Xptxas -O3,-v -use_fast_math -DAPR_USE_CUDA" )
143154 if (APR_BENCHMARK)
144155 set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -DAPR_BENCHMARK" )
145156 endif ()
@@ -148,10 +159,9 @@ if(APR_USE_CUDA)
148159 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DAPR_USE_CUDA" )
149160 set (APR_CUDA_SROUCE_FILES
150161 src/algorithm/ComputeGradientCuda.cu
151- src/algorithm/ComputeBsplineRecursiveFilter.cu
152- src/algorithm/ComputeInverseCubicBsplineCuda.cu
153162 src/data_structures/Mesh/PixelData.cu
154- src/algorithm/LocalIntensityScale.cu)
163+ src/algorithm/LocalIntensityScale.cu
164+ )
155165 include_directories (${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} )
156166endif ()
157167
@@ -183,7 +193,7 @@ if(APR_BUILD_SHARED_LIB)
183193 set_property (TARGET ${SHARED_TARGET_NAME} PROPERTY VERSION ${APR_VERSION_STRING} )
184194 set_property (TARGET ${SHARED_TARGET_NAME} PROPERTY SOVERSION ${APR_VERSION_MAJOR} )
185195
186- target_link_libraries (${SHARED_TARGET_NAME} PRIVATE ${HDF5_LIBRARIES} ${TIFF_LIBRARIES} ${CUDA_CUDART_LIBRARY} )
196+ target_link_libraries (${SHARED_TARGET_NAME} PRIVATE ${HDF5_LIBRARIES} ${TIFF_LIBRARIES} ${CUDA_CUDART_LIBRARY} ${ZLIB_LIBRARIES} )
187197 if (BLOSC_FOUND)
188198 target_link_libraries (${SHARED_TARGET_NAME} PRIVATE ${BLOSC_LIBRARIES} ${ZLIB_LIBRARIES} )
189199 else ()
0 commit comments