summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch')
-rw-r--r--sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch149
1 files changed, 149 insertions, 0 deletions
diff --git a/sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch b/sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch
new file mode 100644
index 000000000000..ba6114a9164f
--- /dev/null
+++ b/sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch
@@ -0,0 +1,149 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,9 +11,6 @@
+ add_compile_definitions("USE_HDF5=ON")
+ endif(USE_HDF5)
+
+-set(EXT_PROJECTS_DIR ${PROJECT_SOURCE_DIR}/ext)
+-set(CMAKE_CXX_FLAGS_PROFILE "-g")
+-
+ # Set Release type for builds where CMAKE_BUILD_TYPE is unset
+ # This is usually a good default as this implictly enables
+ #
+@@ -33,44 +30,12 @@
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ endif()
+
+-#add_compile_options(-Wall -Wno-unused-function)
+-
+-if(LINK MATCHES static)
+- message("static build")
+-ELSE(LINK MATCHES shared)
+- message("shared build")
+-ENDIF(LINK MATCHES static)
+-
+-
+-include(ExternalProject)
+-ExternalProject_Add(htslib
+- PREFIX ${PROJECT_SOURCE_DIR}/ext/htslib
+- SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/htslib
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND autoheader && autoconf && ${PROJECT_SOURCE_DIR}/ext/htslib/configure
+- --prefix=${PREFIX} --disable-bz2 --disable-lzma --disable-libcurl
+- BUILD_COMMAND make lib-static
+- INSTALL_COMMAND ""
+-)
+-
+-include_directories(${htslib_PREFIX}/src/htslib)
+-
+-
+-
+-# add_compile_options(-Wdeprecated-register)
+-
+ add_subdirectory(src)
+-include_directories(${EXT_PROJECTS_DIR})
+
+ option(BUILD_TESTING "Build unit tests." OFF)
+ include(CTest)
+
+ if (BUILD_TESTING)
+- add_subdirectory(${EXT_PROJECTS_DIR}/catch)
+-
+- # Includes Catch in the project:
+- include_directories(${CATCH_INCLUDE_DIR} ${COMMON_INCLUDES})
+-
+ add_subdirectory(unit_tests)
+ endif(BUILD_TESTING)
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -3,30 +3,17 @@
+
+ list(REMOVE_ITEM sources main.cpp)
+
+-include_directories(../ext/htslib)
+-
+ add_library(kallisto_core ${sources} ${headers})
+ target_include_directories(kallisto_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+
+ add_executable(kallisto main.cpp)
+
+-find_package( Threads REQUIRED )
+-target_link_libraries(kallisto kallisto_core pthread ${CMAKE_CURRENT_SOURCE_DIR}/../ext/htslib/libhts.a)
+-
+-if(LINK MATCHES static)
+- set(BUILD_SHARED_LIBS OFF)
+- set(HDF5_USE_STATIC_LIBRARIES 1)
+-
+- if (UNIX AND NOT APPLE)
+- #set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -static-libstdc++")
+- set(CMAKE_EXE_LINKER_FLAGS "-static -static-libstdc++")
+- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+- set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -static-libstdc++")
+- endif(UNIX AND NOT APPLE)
+-
+- SET_TARGET_PROPERTIES(kallisto kallisto_core PROPERTIES LINK_SEARCH_END_STATIC 1)
+-endif(LINK MATCHES static)
++find_package( PkgConfig REQUIRED )
++pkg_check_modules( HTSLIB REQUIRED htslib )
+
++find_package( Threads REQUIRED )
++target_include_directories(kallisto PRIVATE ${HTSLIB_CFLAGS})
++target_link_libraries(kallisto PRIVATE kallisto_core Threads::Threads ${HTSLIB_LDFLAGS})
+
+ if(USE_HDF5)
+ find_package( HDF5 REQUIRED )
+@@ -36,7 +23,7 @@
+
+ if ( ZLIB_FOUND )
+ include_directories( ${ZLIB_INCLUDE_DIRS} )
+- target_link_libraries(kallisto kallisto_core ${ZLIB_LIBRARIES})
++ target_link_libraries(kallisto PRIVATE kallisto_core ${ZLIB_LIBRARIES})
+ else()
+ message(FATAL_ERROR "zlib not found. Required for to output files" )
+ endif( ZLIB_FOUND )
+@@ -44,22 +31,17 @@
+ if(USE_HDF5)
+ if(HDF5_FOUND)
+ include_directories( ${HDF5_INCLUDE_DIRS} )
+- target_link_libraries( kallisto_core ${HDF5_LIBRARIES} )
+- target_link_libraries( kallisto ${HDF5_LIBRARIES} )
++ target_link_libraries( kallisto_core PRIVATE ${HDF5_LIBRARIES} )
++ target_link_libraries( kallisto PRIVATE ${HDF5_LIBRARIES} )
+ else()
+ message(FATAL_ERROR "HDF5 not found. Required to output files")
+ endif()
+ endif(USE_HDF5)
+
+-if(LINK MATCHES static)
+- if (UNIX AND NOT APPLE)
+- target_link_libraries(kallisto librt.a)
+- endif()
+-else()
+- if (UNIX AND NOT APPLE)
+- target_link_libraries(kallisto rt)
+- endif()
+-endif(LINK MATCHES static)
+-
++target_compile_options( kallisto_core PRIVATE ${HTSLIB_CFLAGS} )
++target_link_libraries( kallisto_core PRIVATE ${HTSLIB_LDFLAGS} )
+
+-install(TARGETS kallisto DESTINATION "${CMAKE_INSTALL_BINDIR}")
+\ No newline at end of file
++install(TARGETS kallisto DESTINATION "${CMAKE_INSTALL_BINDIR}")
++if ( BUILD_SHARED_LIBS )
++ install(TARGETS kallisto_core DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++endif()
+--- a/unit_tests/CMakeLists.txt
++++ b/unit_tests/CMakeLists.txt
+@@ -8,6 +8,10 @@
+ add_executable(tests ${sources})
+ add_test(unittest tests)
+
++find_package( Catch2 REQUIRED )
++include_directories( ${Catch2_INCLUDE_DIRS} )
++target_link_libraries( tests ${Catch2_LIBRARIES} )
++
+ find_package( ZLIB REQUIRED )
+ if ( ZLIB_FOUND )
+ include_directories( ${ZLIB_INCLUDE_DIRS} )