Skip to content

Commit

Permalink
[cmake] fix wrong endif for openmp
Browse files Browse the repository at this point in the history
  • Loading branch information
simogasp committed Oct 2, 2015
1 parent dc45a64 commit c3741b1
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,21 +104,22 @@ ENDIF(CXX11_COMPILER)
# ==============================================================================
# OpenMP detection
# ==============================================================================
IF (OpenMVG_USE_OPENMP)
IF(OpenMVG_USE_OPENMP)
FIND_PACKAGE(OpenMP)
IF (OPENMP_FOUND)
IF(OPENMP_FOUND)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
OPTION(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" ON)
ADD_DEFINITIONS(-DOPENMVG_USE_OPENMP)
IF (NOT MSVC)
LIST(APPEND OPENMVG_LIBRARY_DEPENDENCIES gomp)
ENDIF (NOT MSVC)
ELSE (OpenMVG_USE_OPENMP)
ENDIF(NOT MSVC)
ENDIF(OPENMP_FOUND)
ELSE(OpenMVG_USE_OPENMP)
OPTION(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" OFF)
SET(OpenMVG_USE_OPENMP OFF CACHE BOOL "Use OpenMP for parallelization")
UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENMP OFF)
REMOVE_DEFINITIONS(-DOPENMVG_USE_OPENMP)
ENDIF (OPENMP_FOUND)
ENDIF (OpenMVG_USE_OPENMP)
ENDIF(OpenMVG_USE_OPENMP)

# ==============================================================================
# enable code coverage generation (only with GCC)
Expand Down
43 changes: 43 additions & 0 deletions src/cmakeFindModules/UpdateCacheVariable.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Ceres Solver - A fast non-linear least squares minimizer
# Copyright 2014 Google Inc. All rights reserved.
# http://code.google.com/p/ceres-solver/
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# * Neither the name of Google Inc. nor the names of its contributors may be
# used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# Author: [email protected] (Alex Stewart)

# By default, there is no easy way in CMake to set the value of a cache
# variable without reinitialising it, which involves resetting its
# associated help string. This is particularly annoying for CMake options
# where they need to programmatically updated.
#
# This function automates this process by getting the current help string
# for the cache variable to update, then reinitialising it with the new
# value, but with the original help string.
FUNCTION(UPDATE_CACHE_VARIABLE VAR_NAME VALUE)
GET_PROPERTY(HELP_STRING CACHE ${VAR_NAME} PROPERTY HELPSTRING)
GET_PROPERTY(VAR_TYPE CACHE ${VAR_NAME} PROPERTY TYPE)
SET(${VAR_NAME} ${VALUE} CACHE ${VAR_TYPE} "${HELP_STRING}" FORCE)
ENDFUNCTION()

0 comments on commit c3741b1

Please sign in to comment.