build: use bundled CLN if available
authorAlexey Sheplyakov <asheplyakov@altlinux.org>
Thu, 19 Dec 2019 14:17:41 +0000 (18:17 +0400)
committerAlexey Sheplyakov <asheplyakov@altlinux.org>
Fri, 28 Aug 2020 15:15:31 +0000 (19:15 +0400)
So one can unpack CLN tarball (or clone CLN git repository) and compile
both CLN and GiNaC in one pass:

git clone git://ginac.de/ginac.git
cd ginac
git clone git://www.ginac.de/cln.git
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make

CMakeLists.txt

index aa221ff7059148c8fafb227dcc0231799623e887..aab81f253e796ab943a17315321f5c4c3d5fb00a 100644 (file)
@@ -45,7 +45,14 @@ endif()
 
 set (CMAKE_CXX_STANDARD 11)
 
-find_package(CLN 1.2.2 REQUIRED)
+if (NOT DEFINED CLN_SOURCE_DIR)
+       set(CLN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cln)
+endif()
+if (EXISTS ${CLN_SOURCE_DIR}/CMakeLists.txt)
+       add_subdirectory(${CLN_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/cln)
+else()
+       find_package(CLN 1.2.2 REQUIRED)
+endif()
 
 include(CheckIncludeFile)
 check_include_file("unistd.h" HAVE_UNISTD_H)