summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2018-08-29 08:20:31 -0700
committerMathias Preiner <mathias.preiner@gmail.com>2018-09-22 16:30:59 -0700
commit8f311f52037a9fb6a82d062342fec4b5396173c6 (patch)
treed20966972af4872d7b30dca1de41c1fc55f2decf /cmake
parent7be6be7dec00579cb7eaae32bed1217d6c35ee83 (diff)
cmake: Add options for specifying install directories for dependencies.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindABC.cmake17
-rw-r--r--cmake/FindANTLR.cmake31
-rw-r--r--cmake/FindCaDiCaL.cmake20
-rw-r--r--cmake/FindCryptoMiniSat.cmake20
-rw-r--r--cmake/FindGLPK.cmake19
-rw-r--r--cmake/FindGMP.cmake24
-rw-r--r--cmake/FindLFSC.cmake20
-rw-r--r--cmake/FindSymFPU.cmake16
8 files changed, 141 insertions, 26 deletions
diff --git a/cmake/FindABC.cmake b/cmake/FindABC.cmake
index 406471c52..0a9cea950 100644
--- a/cmake/FindABC.cmake
+++ b/cmake/FindABC.cmake
@@ -4,17 +4,26 @@
# ABC_LIBRARIES - Libraries needed to use ABC
# ABC_ARCH_FLAGS - Platform specific compile flags
-set(ABC_DEFAULT_HOME "${PROJECT_SOURCE_DIR}/abc/alanmi-abc-53f39c11b58d")
+# Check default location of ABC built with contrib/get-abc.
+if(NOT ABC_HOME)
+ set(ABC_HOME ${PROJECT_SOURCE_DIR}/abc/alanmi-abc-53f39c11b58d)
+endif()
+
+# Note: We don't check the system version since ABC does not provide a default
+# install rule.
find_path(ABC_INCLUDE_DIR
NAMES base/abc/abc.h
- PATHS ${ABC_DEFAULT_HOME}/src)
+ PATHS ${ABC_HOME}/src
+ NO_DEFAULT_PATH)
find_library(ABC_LIBRARIES
NAMES abc
- PATHS ${ABC_DEFAULT_HOME})
+ PATHS ${ABC_HOME}
+ NO_DEFAULT_PATH)
find_program(ABC_ARCH_FLAGS_PROG
NAMES arch_flags
- PATHS ${ABC_DEFAULT_HOME})
+ PATHS ${ABC_HOME}
+ NO_DEFAULT_PATH)
if(ABC_ARCH_FLAGS_PROG)
execute_process(COMMAND ${ABC_ARCH_FLAGS_PROG}
diff --git a/cmake/FindANTLR.cmake b/cmake/FindANTLR.cmake
index e977ba88d..79d38854e 100644
--- a/cmake/FindANTLR.cmake
+++ b/cmake/FindANTLR.cmake
@@ -4,20 +4,33 @@
# ANTLR_INCLUDE_DIR - the ANTLR include directory
# ANTLR_LIBRARIES - Libraries needed to use ANTLR
+
+# Check default location of ANTLR built with contrib/get-antlr-3.4.
+# If the user provides a directory we will not search the default paths and
+# fail if ANTLR was not found in the specified directory.
+if(NOT ANTLR_HOME)
+ set(ANTLR_HOME ${PROJECT_SOURCE_DIR}/antlr-3.4)
+ set(CHECK_SYSTEM_VERSION TRUE)
+endif()
+
find_program(ANTLR_BINARY
NAMES antlr3
- PATHS "${PROJECT_SOURCE_DIR}/antlr-3.4/bin"
- )
-
+ PATHS ${ANTLR_HOME}/bin
+ NO_DEFAULT_PATH)
find_path(ANTLR_INCLUDE_DIR
NAMES antlr3.h
- PATHS "${PROJECT_SOURCE_DIR}/antlr-3.4/include"
- )
-
+ PATHS ${ANTLR_HOME}/include
+ NO_DEFAULT_PATH)
find_library(ANTLR_LIBRARIES
- NAMES antlr3c libantlr3c
- PATHS "${PROJECT_SOURCE_DIR}/antlr-3.4/lib"
- )
+ NAMES antlr3c antlr3c-static
+ PATHS ${ANTLR_HOME}/lib
+ NO_DEFAULT_PATH)
+
+if(CHECK_SYSTEM_VERSION)
+ find_program(ANTLR_BINARY NAMES antlr3)
+ find_path(ANTLR_INCLUDE_DIR NAMES antlr3.h)
+ find_library(ANTLR_LIBRARIES NAMES antlr3c)
+endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
diff --git a/cmake/FindCaDiCaL.cmake b/cmake/FindCaDiCaL.cmake
index e3a045911..2976bb2bb 100644
--- a/cmake/FindCaDiCaL.cmake
+++ b/cmake/FindCaDiCaL.cmake
@@ -3,12 +3,28 @@
# CaDiCaL_INCLUDE_DIR - the CaDiCaL include directory
# CaDiCaL_LIBRARIES - Libraries needed to use CaDiCaL
+
+# Check default location of CaDiCaL built with contrib/get-cadical.
+# If the user provides a directory we will not search the default paths and
+# fail if CaDiCaL was not found in the specified directory.
+if(NOT CaDiCaL_HOME)
+ set(CaDiCaL_HOME ${PROJECT_SOURCE_DIR}/cadical)
+ set(CHECK_SYSTEM_VERSION TRUE)
+endif()
+
find_path(CaDiCaL_INCLUDE_DIR
NAMES cadical.hpp
- PATHS "${PROJECT_SOURCE_DIR}/cadical/src")
+ PATHS ${CaDiCaL_HOME}/src
+ NO_DEFAULT_PATH)
find_library(CaDiCaL_LIBRARIES
NAMES cadical
- PATHS "${PROJECT_SOURCE_DIR}/cadical/build")
+ PATHS ${CaDiCaL_HOME}/build
+ NO_DEFAULT_PATH)
+
+if(CHECK_SYSTEM_VERSION)
+ find_path(CaDiCaL_INCLUDE_DIR NAMES cadical.hpp)
+ find_library(CaDiCaL_LIBRARIES NAMES cadical)
+endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CaDiCaL
diff --git a/cmake/FindCryptoMiniSat.cmake b/cmake/FindCryptoMiniSat.cmake
index 1706efb9c..aecd92226 100644
--- a/cmake/FindCryptoMiniSat.cmake
+++ b/cmake/FindCryptoMiniSat.cmake
@@ -3,12 +3,28 @@
# CryptoMiniSat_INCLUDE_DIR - the CryptoMiniSat include directory
# CryptoMiniSat_LIBRARIES - Libraries needed to use CryptoMiniSat
+
+# Check default location of CryptoMiniSat built with contrib/get-cryptominisat.
+# If the user provides a directory we will not search the default paths and
+# fail if CryptoMiniSat was not found in the specified directory.
+if(NOT CryptoMiniSat_HOME)
+ set(CryptoMiniSat_HOME ${PROJECT_SOURCE_DIR}/cryptominisat5/install)
+ set(CHECK_SYSTEM_VERSION TRUE)
+endif()
+
find_path(CryptoMiniSat_INCLUDE_DIR
NAMES cryptominisat5/cryptominisat.h
- PATHS "${PROJECT_SOURCE_DIR}/cryptominisat5/install/include")
+ PATHS ${CryptoMiniSat_HOME}/include
+ NO_DEFAULT_PATH)
find_library(CryptoMiniSat_LIBRARIES
NAMES cryptominisat5
- PATHS "${PROJECT_SOURCE_DIR}/cryptominisat5/install/lib")
+ PATHS ${CryptoMiniSat_HOME}/lib
+ NO_DEFAULT_PATH)
+
+if(CHECK_SYSTEM_VERSION)
+ find_path(CryptoMiniSat_INCLUDE_DIR NAMES cryptominisat5/cryptominisat.h)
+ find_library(CryptoMiniSat_LIBRARIES NAMES cryptominisat5)
+endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CryptoMiniSat
diff --git a/cmake/FindGLPK.cmake b/cmake/FindGLPK.cmake
index 7d7c1954f..e2b07faff 100644
--- a/cmake/FindGLPK.cmake
+++ b/cmake/FindGLPK.cmake
@@ -3,19 +3,30 @@
# GLPK_INCLUDE_DIR - the GLPK include directory
# GLPK_LIBRARIES - Libraries needed to use GLPK
-set(GLPK_DEFAULT_HOME ${PROJECT_SOURCE_DIR}/glpk-cut-log)
+
+# Check default location of GLPK built with contrib/get-glpk-cut-log.
+# If the user provides a directory we will not search the default paths and
+# fail if GLPK was not found in the specified directory.
+if(NOT GLPK_HOME)
+ set(GLPK_HOME ${PROJECT_SOURCE_DIR}/glpk-cut-log)
+ set(CHECK_SYSTEM_VERSION TRUE)
+endif()
find_path(GLPK_INCLUDE_DIR
NAMES glpk.h
- PATHS ${GLPK_DEFAULT_HOME}/include
+ PATHS ${GLPK_HOME}/include
NO_DEFAULT_PATH)
find_library(GLPK_LIBRARIES
NAMES glpk
- PATHS ${GLPK_DEFAULT_HOME}/lib
+ PATHS ${GLPK_HOME}/lib
NO_DEFAULT_PATH)
+if(CHECK_SYSTEM_VERSION)
+ find_path(GLPK_INCLUDE_DIR NAMES glpk.h)
+ find_library(GLPK_LIBRARIES NAMES glpk)
+endif()
-# Check if we really have GLPK-cut-log
+# Check if we really have GLPK-cut-log.
if(GLPK_INCLUDE_DIR)
include(CheckSymbolExists)
set(CMAKE_REQUIRED_INCLUDES ${GLPK_INCLUDE_DIR})
diff --git a/cmake/FindGMP.cmake b/cmake/FindGMP.cmake
index 2d7b9b64a..a835e2d5e 100644
--- a/cmake/FindGMP.cmake
+++ b/cmake/FindGMP.cmake
@@ -3,8 +3,28 @@
# GMP_INCLUDE_DIR - the GMP include directory
# GMP_LIBRARIES - Libraries needed to use GMP
-find_path(GMP_INCLUDE_DIR NAMES gmp.h)
-find_library(GMP_LIBRARIES NAMES gmp libgmp)
+
+# Check default location of GMP built with contrib/get-gmp.
+# If the user provides a directory we will not search the default paths and
+# fail if GMP was not found in the specified directory.
+if(NOT GMP_HOME)
+ set(GMP_HOME ${PROJECT_SOURCE_DIR}/gmp-6.1.2)
+ set(CHECK_SYSTEM_VERSION TRUE)
+endif()
+
+find_path(GMP_INCLUDE_DIR
+ NAMES gmp.h gmpxx.h
+ PATHS ${GMP_HOME}/include
+ NO_DEFAULT_PATH)
+find_library(GMP_LIBRARIES
+ NAMES gmp
+ PATHS ${GMP_HOME}/lib
+ NO_DEFAULT_PATH)
+
+if(CHECK_SYSTEM_VERSION)
+ find_path(GMP_INCLUDE_DIR NAMES gmp.h gmpxx.h)
+ find_library(GMP_LIBRARIES NAMES gmp)
+endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GMP DEFAULT_MSG GMP_INCLUDE_DIR GMP_LIBRARIES)
diff --git a/cmake/FindLFSC.cmake b/cmake/FindLFSC.cmake
index 7176b2015..2e3118669 100644
--- a/cmake/FindLFSC.cmake
+++ b/cmake/FindLFSC.cmake
@@ -3,12 +3,28 @@
# LFSC_INCLUDE_DIR - the LFSC include directory
# LFSC_LIBRARIES - Libraries needed to use LFSC
+
+# Check default location of LFSC built with contrib/get-lfsc.
+# If the user provides a directory we will not search the default paths and
+# fail if LFSC was not found in the specified directory.
+if(NOT LFSC_HOME)
+ set(LFSC_HOME ${PROJECT_SOURCE_DIR}/lfsc-checker/install)
+ set(CHECK_SYSTEM_VERSION TRUE)
+endif()
+
find_path(LFSC_INCLUDE_DIR
NAMES lfscc.h
- PATHS "${PROJECT_SOURCE_DIR}/lfsc-checker/install/include")
+ PATHS ${LFSC_HOME}/include
+ NO_DEFAULT_PATH)
find_library(LFSC_LIBRARIES
NAMES lfscc
- PATHS "${PROJECT_SOURCE_DIR}/lfsc-checker/install/lib")
+ PATHS ${LFSC_HOME}/lib
+ NO_DEFAULT_PATH)
+
+if(CHECK_SYSTEM_VERSION)
+ find_path(LFSC_INCLUDE_DIR NAMES lfscc.h)
+ find_library(LFSC_LIBRARIES NAMES lfscc)
+endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LFSC
diff --git a/cmake/FindSymFPU.cmake b/cmake/FindSymFPU.cmake
index 6d165e16a..f0f9ebf0f 100644
--- a/cmake/FindSymFPU.cmake
+++ b/cmake/FindSymFPU.cmake
@@ -2,9 +2,23 @@
# SymFPU_FOUND - system has SymFPU lib
# SymFPU_INCLUDE_DIR - the SymFPU include directory
+
+# Check default location of SymFPU built with contrib/get-symfpu.
+# If the user provides a directory we will not search the default paths and
+# fail if SymFPU was not found in the specified directory.
+if(NOT SymFPU_HOME)
+ set(SymFPU_HOME ${PROJECT_SOURCE_DIR}/symfpu-CVC4)
+ set(CHECK_SYSTEM_VERSION TRUE)
+endif()
+
find_path(SymFPU_INCLUDE_DIR
NAMES symfpu/core/unpackedFloat.h
- PATHS "${PROJECT_SOURCE_DIR}/symfpu-CVC4")
+ PATHS ${SymFPU_HOME}
+ NO_DEFAULT_PATH)
+
+if(CHECK_SYSTEM_VERSION)
+ find_path(SymFPU_INCLUDE_DIR NAMES symfpu/core/unpackedFloat.h)
+endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SymFPU DEFAULT_MSG SymFPU_INCLUDE_DIR)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback