Skip to content
This repository has been archived by the owner on Jun 15, 2023. It is now read-only.

Commit

Permalink
ENH: Disable OpenMP by default
Browse files Browse the repository at this point in the history
  • Loading branch information
kaspermarstal committed May 4, 2017
1 parent 7bff749 commit d97eab4
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 26 deletions.
13 changes: 9 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,15 @@ endif()

#-----------------------------------------------------------
# Configure Elastix
find_package( OpenMP QUIET )
if( OPENMP_FOUND )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
mark_as_advanced( SimpleITK_OPENMP )
option( SimpleITK_OPENMP "If available, use OpenMP to speed up certain elastix computations." OFF )

if( SimpleITK_OPENMP )
find_package( OpenMP QUIET )
if( OPENMP_FOUND )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()
endif()

# Find UseElastix.cmake
Expand Down
13 changes: 9 additions & 4 deletions Examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,15 @@ endforeach()
if(NOT CMAKE_PROJECT_NAME STREQUAL "SimpleITK")
find_package(SimpleITK REQUIRED)

find_package(OpenMP QUIET)
if( OPENMP_FOUND )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
mark_as_advanced( SimpleITK_OPENMP )
option( SimpleITK_OPENMP "If available, use OpenMP to speed up certain elastix computations." OFF )

if( SimpleITK_OPENMP )
find_package( OpenMP QUIET )
if( OPENMP_FOUND )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()
endif()

if(NOT EXISTS ${ELASTIX_USE_FILE})
Expand Down
21 changes: 7 additions & 14 deletions SuperBuild/External_Elastix.cmake
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
set( proj elastix )

if( ${BUILD_SHARED_LIBS} )
set( ELASTIX_BUILD_SHARED_LIBS ON )
else()
set( ELASTIX_BUILD_SHARED_LIBS OFF )
endif()

file( WRITE "${CMAKE_CURRENT_BINARY_DIR}/${proj}-build/CMakeCacheInit.txt" "${ep_common_cache}" )

set( ELASTIX_GIT_REPOSITORY ${git_protocol}://github.com/mstaring/elastix )
set( ELASTIX_GIT_TAG 617b0729fb6200fce279f7e6388967c6315ddc90 )
set( ELASTIX_GIT_TAG dedf2c3282107b515ea0a8d054a51aa8c03e60e7 )

ExternalProject_Add( ${proj}
ExternalProject_Add( Elastix
GIT_REPOSITORY ${ELASTIX_GIT_REPOSITORY}
GIT_TAG ${ELASTIX_GIT_TAG}
UPDATE_COMMAND ""
SOURCE_DIR ${proj}
BINARY_DIR ${proj}-build
SOURCE_DIR Elastix
BINARY_DIR Elastix-build
CMAKE_GENERATOR ${gen}
CMAKE_ARGS
--no-warn-unused-cli
Expand All @@ -25,7 +17,8 @@ ExternalProject_Add( ${proj}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DBUILD_TESTING:BOOL=OFF
-DELASTIX_BUILD_EXECUTABLE:BOOL=OFF
-DBUILD_SHARED_LIBS:BOOL=${ELASTIX_BUILD_SHARED_LIBS}
-DELASTIX_USE_OPENMP:BOOL=${SimpleITK_OPENMP}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DITK_DIR:PATH=${ITK_DIR}
-DELASTIX_IMAGE_2D_PIXELTYPES:STRING=float
Expand Down Expand Up @@ -114,5 +107,5 @@ ExternalProject_Add( ${proj}
DEPENDS ${${CMAKE_PROJECT_NAME}_DEPENDENCIES}
)

ExternalProject_Get_Property( elastix BINARY_DIR )
ExternalProject_Get_Property( Elastix BINARY_DIR )
set( ELASTIX_USE_FILE "${BINARY_DIR}/src/UseElastix.cmake" )
1 change: 1 addition & 0 deletions SuperBuild/External_SimpleITKExamples.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ if (${BUILD_EXAMPLES} )
-C "${CMAKE_CURRENT_BINARY_DIR}/${proj}-build/CMakeCacheInit.txt"
${ep_common_args}
-DITK_DIR:PATH=${ITK_DIR}
-DSimpleITK_USE_OPENMP:BOOL=${SimpleITK_OPENMP}
-DSimpleITK_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/SimpleITK-0.11/
-DCMAKE_SKIP_RPATH:BOOL=ON
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
Expand Down
21 changes: 17 additions & 4 deletions SuperBuild/SuperBuild.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -366,19 +366,32 @@ endif()
# Elastix
#------------------------------------------------------------------------------

set(USE_SYSTEM_ELASTIX OFF CACHE BOOL "Use a pre-built version of elastix")
mark_as_advanced(USE_SYSTEM_ELASTIX)
option( USE_SYSTEM_ELASTIX "Use system install of elastix." OFF )
mark_as_advanced( USE_SYSTEM_ELASTIX )

if(USE_SYSTEM_ELASTIX)
if(NOT EXISTS ${ELASTIX_USE_FILE})
set(ELASTIX_USE_FILE ${ELASTIX_DIR}/UseElastix.cmake)
endif()

if(NOT EXISTS ${ELASTIX_USE_FILE})
set(ELASTIX_DIR "" CACHE PATH "Path to folder containing UseElastix.cmake")
message(FATAL_ERROR "Could not find UseElastix.cmake. Point ELASTIX_DIR to folder containing UseElastix.cmake or set USE_SYSTEM_ELASTIX to OFF.")
endif()
else()
mark_as_advanced( SimpleITK_OPENMP )
option( SimpleITK_OPENMP "If available, use OpenMP to speed up certain elastix computations." OFF )

if( SimpleITK_OPENMP )
find_package( OpenMP QUIET )
if( OPENMP_FOUND )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()
endif()

include(External_Elastix)
list(APPEND ${CMAKE_PROJECT_NAME}_DEPENDENCIES elastix)
list(APPEND ${CMAKE_PROJECT_NAME}_DEPENDENCIES Elastix)
endif()

#------------------------------------------------------------------------------
Expand Down Expand Up @@ -476,7 +489,7 @@ include(External_SimpleITKExamples)
#------------------------------------------------------------------------------
# List of external projects
#------------------------------------------------------------------------------
set(external_project_list ITK Swig elastix SimpleITKExamples PCRE Lua GTest virtualenv ${CMAKE_PROJECT_NAME})
set(external_project_list ITK Swig Elastix SimpleITKExamples PCRE Lua GTest virtualenv ${CMAKE_PROJECT_NAME})

#-----------------------------------------------------------------------------
# Dump external project dependencies
Expand Down

0 comments on commit d97eab4

Please sign in to comment.