diff options
Diffstat (limited to 'biology/gcta/files/patch-CMakeLists.txt')
-rw-r--r-- | biology/gcta/files/patch-CMakeLists.txt | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/biology/gcta/files/patch-CMakeLists.txt b/biology/gcta/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..886a9591c652 --- /dev/null +++ b/biology/gcta/files/patch-CMakeLists.txt @@ -0,0 +1,98 @@ +--- CMakeLists.txt.orig 2022-08-03 06:01:52 UTC ++++ CMakeLists.txt +@@ -3,7 +3,7 @@ SET(CMAKE_INCLUDE_CURRENT_DIR ON) + SET(PROJECT_NAME_STR GCTA2) + PROJECT(${PROJECT_NAME_STR} C CXX) + SET(CMAKE_INCLUDE_CURRENT_DIR ON) +-SET(CMAKE_CXX_STANDARD 11) ++SET(CMAKE_CXX_STANDARD 14) + SET(CMAKE_C_STANDARD 11) + + # get system architecture +@@ -16,8 +16,8 @@ endif() + MESSAGE(FATAL_ERROR "Use the Visual Studio project file which located in gcta_win64 directory") + endif() + +-if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" OR "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") +- MESSAGE("Linux and Mac are supported.") ++if("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD" OR "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" OR "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") ++ MESSAGE("FreeBSD, Linux and Mac are supported.") + else() + MESSAGE("Your system: ${CMAKE_SYSTEM_NAME}") + MESSAGE(FATAL_ERROR "Only Linux and Mac are currently supported.") +@@ -43,18 +43,18 @@ INCLUDE_DIRECTORIES("${EIGEN3_INCLUDE_DIR}") + ENDIF() + INCLUDE_DIRECTORIES("${EIGEN3_INCLUDE_DIR}") + +-SET(SPECTRA_LIB "$ENV{SPECTRA_LIB}") +-IF(NOT SPECTRA_LIB) +- MESSAGE(FATAL_ERROR "Specify environment variable SPECTRA_LIB to the location of Spectra package") ++SET(SPECTRA_INCLUDE_DIR "$ENV{SPECTRA_INCLUDE_DIR}") ++IF(NOT SPECTRA_INCLUDE_DIR) ++ MESSAGE(FATAL_ERROR "Specify environment variable SPECTRA_INCLUDE_DIR to the location of Spectra package") + ENDIF() +-INCLUDE_DIRECTORIES("${SPECTRA_LIB}") ++INCLUDE_DIRECTORIES("${SPECTRA_INCLUDE_DIR}") + + +-SET(BOOST_LIB "$ENV{BOOST_LIB}") +-IF(NOT BOOST_LIB) +- MESSAGE(FATAL_ERROR "Specify environment variable BOOST_LIB to the location of BOOST library") ++SET(BOOST_INCLUDE_DIR "$ENV{BOOST_INCLUDE_DIR}") ++IF(NOT BOOST_INCLUDE_DIR) ++ MESSAGE(FATAL_ERROR "Specify environment variable BOOST_INCLUDE_DIR to the location of BOOST headers") + ENDIF() +-INCLUDE_DIRECTORIES("${BOOST_LIB}") ++INCLUDE_DIRECTORIES("${BOOST_INCLUDE_DIR}") + + + # PLINK2.0 pgen library; +@@ -63,13 +63,28 @@ message(STATUS "ARCHITECTURE:${CMAKE_LIBRARY_ARCHITECT + + + message(STATUS "ARCHITECTURE:${CMAKE_LIBRARY_ARCHITECTURE}") +-if(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "aarch64") ++if("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD") + SET(OPENBLAS "$ENV{OPENBLAS}") + IF(NOT OPENBLAS) + MESSAGE(FATAL_ERROR "Specify environment variable OPENBLAS to the location of OPENBLAS package") + ENDIF() + INCLUDE_DIRECTORIES("${OPENBLAS}/include") + ++ find_library(lib_openblas NAMES openblas PATHS "${OPENBLAS}" "${LOCALBASE}/lib") ++ set(BLAS_LIB ${lib_openblas}) ++ ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") ++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG") ++ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g") ++ add_compile_options(-fopenmp) ++ ++elseif(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "aarch64") ++ SET(OPENBLAS "$ENV{OPENBLAS}") ++ IF(NOT OPENBLAS) ++ MESSAGE(FATAL_ERROR "Specify environment variable OPENBLAS to the location of OPENBLAS package") ++ ENDIF() ++ INCLUDE_DIRECTORIES("${OPENBLAS}/include") ++ + find_library(lib_openblas NAMES openblas PATHS "${OPENBLAS}" "${OPENBLAS}/lib") + set(BLAS_LIB ${lib_openblas}) + +@@ -169,6 +184,8 @@ if(APPLE) + if(APPLE) + link_directories(${MKLROOT}/lib) + link_directories(/usr/local/lib) ++elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD") ++ link_directories(${LOCALBASE}/lib) + else(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + #linux + link_directories(${MKLROOT}/../../../lib/intel64) +@@ -179,6 +196,9 @@ if(APPLE) + if(APPLE) + # iomp5 + target_link_libraries(gcta64 ${libs_list} Pgenlib mainV1 z ${BLAS_LIB} sqlite3 zstd_s omp pthread m dl ) ++elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD") ++ # FIXME: Clean this up ++ target_link_libraries(gcta64 mainV1 ${libs_list} Pgenlib gsl z sqlite3 zstd -Wl,--start-group ${BLAS_LIB} -Wl,--end-group -Wl,--whole-archive -lpthread -Wl,--no-whole-archive m dl) + else() + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # error keeps only |