From e66d4e1d68f882e4a37c0af177a63ed59acbf660 Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 28 Mar 2019 11:45:02 +0100 Subject: [PATCH 1/3] added option to disable unit tests --- .gitignore | 2 +- CMakeLists.txt | 27 +++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 1b161b1..4ab7804 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ # Ignore build files -build/ +*build* diff --git a/CMakeLists.txt b/CMakeLists.txt index fdf0c33..da9732f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,15 +199,18 @@ project(sparse2d) # UNIT TESTS # # -----------# - # Add unit tests - enable_testing() - set(UNIT_TESTS mr_transform_test) - - foreach(program ${UNIT_TESTS}) - add_executable(${program} ${PROJECT_SOURCE_DIR}/tests/${program}.cpp) - target_link_libraries(${program} mga2d sparse2d sparse1d tools) - if(SPARSE3D) - target_link_libraries(${program} mga2d sparse3d sparse2d sparse1d tools) - endif(SPARSE3D) - add_test(${program} ${program}) - endforeach(program) + option(RUN_TESTS "Build and run unit tests" ON) + if(RUN_TESTS) + # Add unit tests + enable_testing() + set(UNIT_TESTS mr_transform_test) + + foreach(program ${UNIT_TESTS}) + add_executable(${program} ${PROJECT_SOURCE_DIR}/tests/${program}.cpp) + target_link_libraries(${program} mga2d sparse2d sparse1d tools) + if(SPARSE3D) + target_link_libraries(${program} mga2d sparse3d sparse2d sparse1d tools) + endif(SPARSE3D) + add_test(${program} ${program}) + endforeach(program) + endif(RUN_TESTS) From b679b44db45910d7a3f27fc837e47dce1699a5b9 Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 28 Mar 2019 15:18:04 +0100 Subject: [PATCH 2/3] Updated OpenMP instructions --- CMakeLists.txt | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index da9732f..425a439 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,15 @@ project(sparse2d) endif() message(STATUS "Installing to: ${CMAKE_INSTALL_PREFIX}") + # Find OpenMP + if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") + set(OpenMP_CXX_FLAGS "-fopenmp") + set(OpenMP_CXX_LIB_NAMES "omp") + set(OpenMP_CXX_LIBRARIES "/usr/local/opt/libomp/lib/libomp.dylib") + else() + find_package(OpenMP REQUIRED) + endif() + # Locate CFITSIO using pkg-config or use command line arguments to configure # CFITSIO if(CFITSIO_LIBRARIES STREQUAL "" OR NOT DEFINED CFITSIO_LIBRARIES OR @@ -52,22 +61,25 @@ project(sparse2d) # Set compilation flags Mac OSX or any other system if(APPLE) - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") + if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") set(CMAKE_CXX_FLAGS_RELEASE "-DMACOS -DNO_DISP_IO -w -g0 -O2 -fPIC \ --fomit-frame-pointer -ffast-math -Wno-write-strings -DNDEBUG ${FFTW_FLAGS} -Xpreprocessor -fopenmp -lomp -I/usr/local/include -L/usr/local/lib") +-fomit-frame-pointer -ffast-math -Wno-write-strings -DNDEBUG ${FFTW_FLAGS} \ +-Xpreprocessor ${OpenMP_CXX_FLAGS} -I/usr/local/include -L/usr/local/lib") set(CMAKE_CXX_FLAGS_DEBUG "-DMACOS -DNO_DISP_IO -w -g0 -fPIC -ffast-math \ --Wno-write-strings ${FFTW_CXX_FLAGS} -Xpreprocessor -fopenmp -lomp -I/usr/local/include -L/usr/local/lib") +-Wno-write-strings ${FFTW_CXX_FLAGS} -Xpreprocessor ${OpenMP_CXX_FLAGS} \ +-I/usr/local/include -L/usr/local/lib") else() set(CMAKE_CXX_FLAGS_RELEASE "-DMACOS -DNO_DISP_IO -w -g0 -O2 -fPIC \ --fomit-frame-pointer -ffast-math -fopenmp -Wno-write-strings -DNDEBUG ${FFTW_FLAGS}" +-fomit-frame-pointer -ffast-math ${OpenMP_CXX_FLAGS} -Wno-write-strings \ +-DNDEBUG ${FFTW_FLAGS}" ) - set(CMAKE_CXX_FLAGS_DEBUG "-DMACOS -DNO_DISP_IO -w -g0 -fPIC -ffast-math -fopenmp \ --Wno-write-strings ${FFTW_CXX_FLAGS}" + set(CMAKE_CXX_FLAGS_DEBUG "-DMACOS -DNO_DISP_IO -w -g0 -fPIC \ +-ffast-math ${OpenMP_CXX_FLAGS} -Wno-write-strings ${FFTW_CXX_FLAGS}" ) endif() @@ -77,10 +89,10 @@ project(sparse2d) else(APPLE) set(CMAKE_CXX_FLAGS_RELEASE "-DNO_DISP_IO -g0 -O2 -fPIC \ --fomit-frame-pointer -fopenmp -Wno-write-strings -DNDEBUG ${FFTW_FLAGS}" +-fomit-frame-pointer ${OpenMP_CXX_FLAGS} -Wno-write-strings -DNDEBUG ${FFTW_FLAGS}" ) - set(CMAKE_CXX_FLAGS_DEBUG "-DNO_DISP_IO -g -fPIC -fopenmp \ + set(CMAKE_CXX_FLAGS_DEBUG "-DNO_DISP_IO -g -fPIC ${OpenMP_CXX_FLAGS} \ -Wno-write-strings ${FFTW_CXX_FLAGS}" ) From 739c9c7628d3b4ddf35a2c435fb04656df00b87f Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 28 Mar 2019 15:45:20 +0100 Subject: [PATCH 3/3] add latest changes --- CMakeLists.txt | 41 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 425a439..765e250 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,7 @@ project(sparse2d) message(STATUS "Installing to: ${CMAKE_INSTALL_PREFIX}") # Find OpenMP - if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") set(OpenMP_CXX_FLAGS "-fopenmp") set(OpenMP_CXX_LIB_NAMES "omp") set(OpenMP_CXX_LIBRARIES "/usr/local/opt/libomp/lib/libomp.dylib") @@ -59,46 +59,25 @@ project(sparse2d) include(BuildNFFT) # Set compilation flags Mac OSX or any other system - if(APPLE) + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") - if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") - - set(CMAKE_CXX_FLAGS_RELEASE "-DMACOS -DNO_DISP_IO -w -g0 -O2 -fPIC \ --fomit-frame-pointer -ffast-math -Wno-write-strings -DNDEBUG ${FFTW_FLAGS} \ --Xpreprocessor ${OpenMP_CXX_FLAGS} -I/usr/local/include -L/usr/local/lib") - - set(CMAKE_CXX_FLAGS_DEBUG "-DMACOS -DNO_DISP_IO -w -g0 -fPIC -ffast-math \ --Wno-write-strings ${FFTW_CXX_FLAGS} -Xpreprocessor ${OpenMP_CXX_FLAGS} \ --I/usr/local/include -L/usr/local/lib") - - else() - - set(CMAKE_CXX_FLAGS_RELEASE "-DMACOS -DNO_DISP_IO -w -g0 -O2 -fPIC \ --fomit-frame-pointer -ffast-math ${OpenMP_CXX_FLAGS} -Wno-write-strings \ --DNDEBUG ${FFTW_FLAGS}" - ) - - set(CMAKE_CXX_FLAGS_DEBUG "-DMACOS -DNO_DISP_IO -w -g0 -fPIC \ --ffast-math ${OpenMP_CXX_FLAGS} -Wno-write-strings ${FFTW_CXX_FLAGS}" - ) - - endif() - - message(STATUS "Using CXX Flags for Mac OSX: ${CMAKE_SYSTEM}") + set(CMAKE_CXX_FLAGS_RELEASE "-DNO_DISP_IO -g0 -O2 -fPIC \ +-fomit-frame-pointer -Xpreprocessor -fopenmp -lomp -Wno-write-strings -DNDEBUG ${FFTW_FLAGS}") + set(CMAKE_CXX_FLAGS_DEBUG "-DNO_DISP_IO -g -fPIC -Xpreprocessor -fopenmp -lomp\ +-Wno-write-strings ${FFTW_CXX_FLAGS}") - else(APPLE) + else() set(CMAKE_CXX_FLAGS_RELEASE "-DNO_DISP_IO -g0 -O2 -fPIC \ --fomit-frame-pointer ${OpenMP_CXX_FLAGS} -Wno-write-strings -DNDEBUG ${FFTW_FLAGS}" +-fomit-frame-pointer -fopenmp -Wno-write-strings -DNDEBUG ${FFTW_FLAGS}" ) - - set(CMAKE_CXX_FLAGS_DEBUG "-DNO_DISP_IO -g -fPIC ${OpenMP_CXX_FLAGS} \ + set(CMAKE_CXX_FLAGS_DEBUG "-DNO_DISP_IO -g -fPIC -fopenmp \ -Wno-write-strings ${FFTW_CXX_FLAGS}" ) message(STATUS "Using CXX Flags for ${CMAKE_SYSTEM}") - endif(APPLE) + endif() # Build tools library FILE(GLOB src_lib1 "${PROJECT_SOURCE_DIR}/src/libtools/*.cc")