github.com/aergoio/aergo@v1.3.1/libtool/CMakeLists.txt (about) 1 set(LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}) 2 3 set(LUAJIT_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/luajit/src) 4 set(LUAJIT_BUILD_DIR ${LUAJIT_SRC_DIR}/..) 5 6 if(NOT EXISTS ${LUAJIT_SRC_DIR}) 7 execute_process(COMMAND git submodule update --init --force) 8 endif() 9 10 set(LUAJIT_GIT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/src/luajit/.git) 11 12 if(CMAKE_BUILD_TYPE MATCHES "Debug") 13 set(CFLAGS "CFLAGS=\"-DLJ_ENABLE_DEBUG\"") 14 endif() 15 16 set(LMDB_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/lmdb) 17 set(LMDB_BUILD_DIR ${LMDB_SRC_DIR}/libraries/liblmdb) 18 19 if(NOT EXISTS ${LMDB_SRC_DIR}) 20 execute_process(COMMAND git clone https://github.com/lmdb/lmdb.git ${LMDB_SRC_DIR}) 21 endif() 22 23 set(GMP_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/gmp-6.1.2) 24 set(GMP_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/src/gmp-6.1.2) 25 26 include(ExternalProject) 27 28 ExternalProject_Add(libgmp 29 SOURCE_DIR ${GMP_SRC_DIR} 30 BINARY_DIR ${GMP_BUILD_DIR} 31 TMP_DIR ${GMP_BUILD_DIR} 32 STAMP_DIR ${GMP_BUILD_DIR} 33 CONFIGURE_COMMAND ${GMP_SRC_DIR}/configure --prefix=${LIB_DIR} --disable-static --enable-shared > /dev/null 34 PREFIX ${GMP_SRC_DIR} 35 BUILD_COMMAND $(MAKE) all install > make.log 36 BUILD_ALWAYS 1) 37 38 add_custom_target(libtool DEPENDS libluajit liblmdb libgmp) 39 40 add_custom_target(libluajit $(MAKE) PREFIX=${LIB_DIR} ${CFLAGS} all install 41 WORKING_DIRECTORY ${LUAJIT_BUILD_DIR}) 42 add_custom_target(liblmdb $(MAKE) prefix=${LIB_DIR} all install 43 WORKING_DIRECTORY ${LMDB_BUILD_DIR}) 44 45 add_custom_target(libtool-clean 46 COMMAND rm -rf ${LIB_DIR}/lib/* 47 COMMAND rm -rf ${LIB_DIR}/include/* 48 COMMAND rm -rf ${LIB_DIR}/bin/* 49 COMMAND rm -rf ${LIB_DIR}/share/* 50 DEPENDS libluajit-clean liblmdb-clean libgmp-clean) 51 52 add_custom_target(libluajit-clean $(MAKE) clean WORKING_DIRECTORY ${LUAJIT_BUILD_DIR}) 53 add_custom_target(liblmdb-clean $(MAKE) clean WORKING_DIRECTORY ${LMDB_BUILD_DIR}) 54 add_custom_target(libgmp-clean $(MAKE) clean WORKING_DIRECTORY ${GMP_BUILD_DIR})