<commit_before>cmake_minimum_required (VERSION 2.8)
project (w2rap-contigger)

## Compiler flags
SET(CMAKE_CXX_FLAGS "-g -fopenmp -fpermissive -w -Wno-deprecated -std=c++11 -Ofast -lz")
#SET(CMAKE_CXX_LINK_EXECUTABLE "/usr/bin/ld")
add_definitions(${CMAKE_CXX_FLAGS})

## To move the bins to the final location
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin")

## Include directories
include_directories("src/")

## Mac compilation issue
include_directories("/usr/include/malloc")



## Link directories
#link_directories("/tgac/software/production/intel_studio/2015.2/x86_64/composerxe/tbb/lib/intel64/gcc4.4")


## Set sources variables

add_library(base_libs OBJECT
        src/Alignment.cc
        src/Basevector.cc
        src/BlockAlign.cc
        src/Charvector.cc
        src/Equiv.cc
        src/FastIfstream.cc
        src/Fastavector.cc
        src/FetchReads.cc
        src/Floatvector.cc
        src/IndexedAlignmentPlusVector.cc
        src/IntPairVec.cc
        src/Intvector.cc
        src/LinkTimestamp.cc
        src/MemberOf.cc
        src/PackAlign.cc
        src/PairsManager.cc
        src/ParseRange.cc
        src/ParseSet.cc
        src/PrintAlignment.cc
        src/Qualvector.cc
        src/ScoreAlignment.cc
        src/Superb.cc
        src/TokenizeString.cc
        src/Vec.cc
        src/VecAlignmentPlus.cc
        src/VecString.cc
        src/dna/Bases.cc
        src/efasta/AmbiguityScore.cc
        src/efasta/EfastaTools.cc
        src/feudal/BaseVec.cc
        src/feudal/BinaryStream.cc
        src/feudal/BitVec.cc
        src/feudal/CharString.cc
        src/feudal/FeudalControlBlock.cc
        src/feudal/FeudalFileReader.cc
        src/feudal/FeudalFileWriter.cc
        src/feudal/FeudalTools.cc
        src/feudal/FieldVec.cc
        src/feudal/Generic.cc
        src/feudal/Mempool.cc
        src/feudal/Oob.cc
        src/feudal/PQVec.cc
        src/feudal/QualNibbleVec.cc
        src/graph/Digraph.cc
        src/graph/FindCells.cc
        src/kmers/BigKPather.cc
        src/kmers/KMerContext.cc
        src/kmers/KmerRecord.cc
        src/kmers/LongReadPather.cc
        src/kmers/ReadPather.cc
        src/lookup/LookAlign.cc
        src/lookup/SAM.cc
        src/lookup/SAM2CRD.cc
        src/math/Combinatorics.cc
        src/math/Functions.cc
        src/math/HoInterval.cc
        src/math/Matrix.cc
        src/math/Permutation.cc
        src/math/PowerOf2.cc
        src/pairwise_aligners/ClusterAligner.cc
        src/pairwise_aligners/SmithWatBandedA.cc
        src/pairwise_aligners/SmithWatFree.cc
        src/paths/BigMapTools.cc
        src/paths/FindErrorsCore.cc
        src/paths/HyperBasevector.cc
        src/paths/HyperEfasta.cc
        src/paths/KmerBaseBroker.cc
        src/paths/KmerPath.cc
        src/paths/KmerPathInterval.cc
        src/paths/LongReadTools.cc
        src/paths/MergeReadSetsCore.cc
        src/paths/ProcessGap.cc
        src/paths/Sepdev.cc
        src/paths/UnipathScaffold.cc
        src/paths/Uniseq.cc
        src/paths/long/Correct1.cc
        src/paths/long/Correct1Pre.cc
        src/paths/long/CorrectByStack.cc
        src/paths/long/CorrectPairs1.cc
        src/paths/long/DiscovarTools.cc
        src/paths/long/EMEC3.cc
        src/paths/long/FillPairs.cc
        src/paths/long/FriendAligns.cc
        src/paths/long/Friends.cc
        src/paths/long/HBVFromEdges.cc
        src/paths/long/KmerAlign.cc
        src/paths/long/LargeKDispatcher.cc
        src/paths/long/LoadCorrectCore.cc
        src/paths/long/LongProtoTools.cc
        src/paths/long/LongReadsToPaths.cc
        src/paths/long/MakeAlignments.cc
        src/paths/long/OverlapReads.cc
        src/paths/long/PreCorrectAlt1.cc
        src/paths/long/PreCorrectOldNew.cc
        src/paths/long/ReadPath.cc
        src/paths/long/ReadPathTools.cc
        src/paths/long/ReadStack.cc
        src/paths/long/fosmid/Fosmids.cc
        src/paths/long/large/GapToyTools6.cc
        src/paths/long/ultra/ConsensusScoreModel.cc
        src/paths/long/ultra/FounderAlignment.cc
        src/paths/long/ultra/GetFriendsAndAlignsInitial.cc
        src/paths/long/ultra/MakeBlocks.cc
        src/paths/long/ultra/MultipleAligner.cc
        src/paths/long/ultra/Prefab.cc
        src/paths/long/ultra/ThreadedBlocks.cc
        src/random/Bernoulli.cc
        src/random/MersenneTwister.cc
        src/random/RNGen.cc
        src/random/Shuffle.cc
        src/reporting/PerfStat.cc
        src/system/Assert.cc
        src/system/ErrNo.cc
        src/system/Exit.cc
        src/system/HostName.cc
        src/system/ParsedArgs.cc
        src/system/ProcBuf.cc
        src/system/SysConf.cc
        src/system/System.cc
        src/system/Thread.cc
        src/system/ThreadsafeIO.cc
        src/system/TraceVal.cc
        src/system/UseGDB.cc
        src/system/WorklistUtils.cc
        src/system/file/File.cc
        src/system/file/FileReader.cc
        src/system/file/FileWriter.cc
        src/system/file/TempFile.cc
        src/util/Logger.cc)

add_library(base2_libs OBJECT
        src/fastg/FastgGraph.cc
        src/graphics/BasicGraphics.cc
        src/kmers/kmer_parcels/KmerParcelsBuilder.cc
        src/math/IntDistribution.cc
        src/pairwise_aligners/MaxMutmerFromMer.cc
        src/pairwise_aligners/SmithWatAffine.cc
        src/paths/MakeAlignsPathsParallelX.cc
        src/paths/ReadsToPathsCoreX.cc
        src/paths/RemodelGapTools.cc
        src/paths/RemodelGapTools.cc
        src/paths/UnibaseUtils.cc
        src/paths/Unipath.cc
        src/paths/long/AssessBestAlignCore.cc
        src/paths/long/CleanEfasta.cc
        src/paths/long/CreateGenome.cc
        src/paths/long/DigraphFromWords.cc
        src/paths/long/EvalAssembly.cc
        src/paths/long/EvalByReads.cc
        src/paths/long/KmerCount.cc
        src/paths/long/LongHyper.cc
        src/paths/long/ReadOriginTracker.cc
        src/paths/long/RefTrace.cc
        src/paths/long/RefTraceControl.cc
        src/paths/long/RefTraceTools.cc
        src/paths/long/SupportedHyperBasevector.cc
        src/paths/long/SupportedHyperBasevector3.cc
        src/paths/long/SupportedHyperBasevector4.cc
        src/paths/long/SupportedHyperBasevector5.cc
        src/paths/long/SupportedHyperBasevector6.cc
        src/paths/long/SupportedHyperBasevector7.cc
        src/paths/long/VariantCallTools.cc
        src/paths/long/VariantFilters.cc
        src/paths/long/VariantPostProcess.cc
        src/paths/long/VariantReadSupport.cc
        src/paths/long/Variants.cc
        src/paths/long/fosmid/FosmidPool.cc
        src/paths/long/large/CN1PeakFinder.cc
        src/paths/long/large/GapToyTools.cc
        src/paths/long/large/GapToyTools3.cc
        src/paths/long/large/Lines.cc
        src/paths/long/large/LocalLayout.cc
        src/paths/simulation/VCF.cc
        src/random/NormalDistribution.cc
        src/util/TextTable.cc)

SET(SOURCE_FILES_UNIPATH_01 src/modules/unipaths_01.cc
        src/AnnotatedContig.cc
        src/Misc.cc
        src/bam/ReadBAM.cc
        src/paths/MuxGraph.cc
        src/paths/OffsetTracker.cc
        src/paths/long/ExtendReadPath.cc
        src/paths/long/KmerAlign.h
        src/paths/long/ShortKmerReadPather.cc
        src/paths/long/large/ExtractReads.cc
        src/paths/long/large/ReadNameLookup.cc
        src/paths/long/large/Samples.cc
        src/system/Crash.cc)

SET(SOURCE_FILES_QGRAPH_02 src/modules/qgraph_02.cc
        src/AnnotatedContig.cc
        src/BasevectorTools.cc
        src/CompressedSequence.cc
        src/FastaConverter.cc
        src/FastaFileset.cc
        src/FastaFilestream.cc
        src/FastaFilestreamPreview.cc
        src/FastaNameParser.cc
        src/FastaVerifier.cc
        src/Misc.cc
        src/paths/long/BuildReadQGraph.cc
        src/paths/long/ExtendReadPath.cc
        src/paths/long/ShortKmerReadPather.cc
        src/paths/long/large/Repath.cc
        src/system/Crash.cc
        src/util/PeakFinder.h)

SET(SOURCE_FILES_CLEAN_03 src/modules/clean_03.cc
        src/CompressedSequence.cc
        src/FastaConverter.cc
        src/FastaFilestream.cc
        src/FastaFilestream.cc
        src/FastaFilestreamPreview.cc
        src/FastaVerifier.cc
        src/pairwise_aligners/SmithWatBanded.cc
        src/paths/long/large/Clean200.cc)

SET(SOURCE_FILES_PATCHING_04 src/modules/patching_04.cc
        src/kmers/MakeLookup.cc
        src/paths/long/large/AssembleGaps.cc
        src/paths/long/large/GapToyTools2.cc
        src/paths/long/large/GapToyTools4.cc
        src/paths/long/large/GapToyTools5.cc
        src/paths/long/large/Unsat.cc)

SET(SOURCE_FILES_SIMPLIFY_05 src/modules/simplify_05.cc
        src/kmers/MakeLookup.cc
        src/paths/long/DisplayTools.cc
        src/paths/long/large/GapToyTools2.cc
        src/paths/long/large/GapToyTools4.cc
        src/paths/long/large/GapToyTools5.cc
        src/paths/long/large/ImprovePath.cc
        src/paths/long/large/Simplify.cc
        src/paths/long/large/tools/NhoodInfoCore.cc
        src/paths/long/large/tools/NhoodInfoState.cc
        src/paths/long/large/tools/NhoodInfoStuff.cc)

SET(SOURCE_FILES_SCAFFOLDING_06 src/modules/scaffolding_06.cc
        src/kmers/MakeLookup.cc
        src/paths/long/DisplayTools.cc
        src/paths/long/large/FinalFiles.cc
        src/paths/long/large/GapToyTools4.cc
        src/paths/long/large/GapToyTools5.cc
        src/paths/long/large/MakeGaps.cc
        src/paths/long/large/Samples.cc)

## add executables and respective sources
add_executable(01_unipaths ${SOURCE_FILES_UNIPATH_01} $<TARGET_OBJECTS:base_libs>)
add_executable(02_qgraph ${SOURCE_FILES_QGRAPH_02} $<TARGET_OBJECTS:base_libs>
$<TARGET_OBJECTS:base2_libs>)
add_executable(03_clean ${SOURCE_FILES_CLEAN_03} $<TARGET_OBJECTS:base_libs>
$<TARGET_OBJECTS:base2_libs>)
add_executable(04_patching ${SOURCE_FILES_PATCHING_04} $<TARGET_OBJECTS:base_libs> $<TARGET_OBJECTS:base2_libs>)
add_executable(05_simplify ${SOURCE_FILES_SIMPLIFY_05} $<TARGET_OBJECTS:base_libs> $<TARGET_OBJECTS:base2_libs>)
add_executable(06_scaffolding ${SOURCE_FILES_SCAFFOLDING_06} $<TARGET_OBJECTS:base_libs> $<TARGET_OBJECTS:base2_libs>)

## Link libraries
#target_link_libraries(01_unipaths libtbbmalloc.so)
#target_link_libraries(02_qgraph libtbbmalloc.so)
#target_link_libraries(03_clean libtbbmalloc.so)
#target_link_libraries(04_patching libtbbmalloc.so)
#target_link_libraries(05_simplify libtbbmalloc.so)
#target_link_libraries(06_scaffolding libtbbmalloc.so)<commit_msg>Optional MALLOC<commit_after>cmake_minimum_required (VERSION 2.8)
project (w2rap-contigger)

## Compiler flags
SET(CMAKE_CXX_FLAGS "-g -fopenmp -fpermissive -w -Wno-deprecated -std=c++11 -Ofast -lz")
#SET(CMAKE_CXX_LINK_EXECUTABLE "/usr/bin/ld")
add_definitions(${CMAKE_CXX_FLAGS})

## To move the bins to the final location
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin")

## Include directories
include_directories("src/")

## Mac compilation issue
include_directories("/usr/include/malloc")

## Set sources variables

add_library(base_libs OBJECT
        src/Alignment.cc
        src/Basevector.cc
        src/BlockAlign.cc
        src/Charvector.cc
        src/Equiv.cc
        src/FastIfstream.cc
        src/Fastavector.cc
        src/FetchReads.cc
        src/Floatvector.cc
        src/IndexedAlignmentPlusVector.cc
        src/IntPairVec.cc
        src/Intvector.cc
        src/LinkTimestamp.cc
        src/MemberOf.cc
        src/PackAlign.cc
        src/PairsManager.cc
        src/ParseRange.cc
        src/ParseSet.cc
        src/PrintAlignment.cc
        src/Qualvector.cc
        src/ScoreAlignment.cc
        src/Superb.cc
        src/TokenizeString.cc
        src/Vec.cc
        src/VecAlignmentPlus.cc
        src/VecString.cc
        src/dna/Bases.cc
        src/efasta/AmbiguityScore.cc
        src/efasta/EfastaTools.cc
        src/feudal/BaseVec.cc
        src/feudal/BinaryStream.cc
        src/feudal/BitVec.cc
        src/feudal/CharString.cc
        src/feudal/FeudalControlBlock.cc
        src/feudal/FeudalFileReader.cc
        src/feudal/FeudalFileWriter.cc
        src/feudal/FeudalTools.cc
        src/feudal/FieldVec.cc
        src/feudal/Generic.cc
        src/feudal/Mempool.cc
        src/feudal/Oob.cc
        src/feudal/PQVec.cc
        src/feudal/QualNibbleVec.cc
        src/graph/Digraph.cc
        src/graph/FindCells.cc
        src/kmers/BigKPather.cc
        src/kmers/KMerContext.cc
        src/kmers/KmerRecord.cc
        src/kmers/LongReadPather.cc
        src/kmers/ReadPather.cc
        src/lookup/LookAlign.cc
        src/lookup/SAM.cc
        src/lookup/SAM2CRD.cc
        src/math/Combinatorics.cc
        src/math/Functions.cc
        src/math/HoInterval.cc
        src/math/Matrix.cc
        src/math/Permutation.cc
        src/math/PowerOf2.cc
        src/pairwise_aligners/ClusterAligner.cc
        src/pairwise_aligners/SmithWatBandedA.cc
        src/pairwise_aligners/SmithWatFree.cc
        src/paths/BigMapTools.cc
        src/paths/FindErrorsCore.cc
        src/paths/HyperBasevector.cc
        src/paths/HyperEfasta.cc
        src/paths/KmerBaseBroker.cc
        src/paths/KmerPath.cc
        src/paths/KmerPathInterval.cc
        src/paths/LongReadTools.cc
        src/paths/MergeReadSetsCore.cc
        src/paths/ProcessGap.cc
        src/paths/Sepdev.cc
        src/paths/UnipathScaffold.cc
        src/paths/Uniseq.cc
        src/paths/long/Correct1.cc
        src/paths/long/Correct1Pre.cc
        src/paths/long/CorrectByStack.cc
        src/paths/long/CorrectPairs1.cc
        src/paths/long/DiscovarTools.cc
        src/paths/long/EMEC3.cc
        src/paths/long/FillPairs.cc
        src/paths/long/FriendAligns.cc
        src/paths/long/Friends.cc
        src/paths/long/HBVFromEdges.cc
        src/paths/long/KmerAlign.cc
        src/paths/long/LargeKDispatcher.cc
        src/paths/long/LoadCorrectCore.cc
        src/paths/long/LongProtoTools.cc
        src/paths/long/LongReadsToPaths.cc
        src/paths/long/MakeAlignments.cc
        src/paths/long/OverlapReads.cc
        src/paths/long/PreCorrectAlt1.cc
        src/paths/long/PreCorrectOldNew.cc
        src/paths/long/ReadPath.cc
        src/paths/long/ReadPathTools.cc
        src/paths/long/ReadStack.cc
        src/paths/long/fosmid/Fosmids.cc
        src/paths/long/large/GapToyTools6.cc
        src/paths/long/ultra/ConsensusScoreModel.cc
        src/paths/long/ultra/FounderAlignment.cc
        src/paths/long/ultra/GetFriendsAndAlignsInitial.cc
        src/paths/long/ultra/MakeBlocks.cc
        src/paths/long/ultra/MultipleAligner.cc
        src/paths/long/ultra/Prefab.cc
        src/paths/long/ultra/ThreadedBlocks.cc
        src/random/Bernoulli.cc
        src/random/MersenneTwister.cc
        src/random/RNGen.cc
        src/random/Shuffle.cc
        src/reporting/PerfStat.cc
        src/system/Assert.cc
        src/system/ErrNo.cc
        src/system/Exit.cc
        src/system/HostName.cc
        src/system/ParsedArgs.cc
        src/system/ProcBuf.cc
        src/system/SysConf.cc
        src/system/System.cc
        src/system/Thread.cc
        src/system/ThreadsafeIO.cc
        src/system/TraceVal.cc
        src/system/UseGDB.cc
        src/system/WorklistUtils.cc
        src/system/file/File.cc
        src/system/file/FileReader.cc
        src/system/file/FileWriter.cc
        src/system/file/TempFile.cc
        src/util/Logger.cc)

add_library(base2_libs OBJECT
        src/fastg/FastgGraph.cc
        src/graphics/BasicGraphics.cc
        src/kmers/kmer_parcels/KmerParcelsBuilder.cc
        src/math/IntDistribution.cc
        src/pairwise_aligners/MaxMutmerFromMer.cc
        src/pairwise_aligners/SmithWatAffine.cc
        src/paths/MakeAlignsPathsParallelX.cc
        src/paths/ReadsToPathsCoreX.cc
        src/paths/RemodelGapTools.cc
        src/paths/RemodelGapTools.cc
        src/paths/UnibaseUtils.cc
        src/paths/Unipath.cc
        src/paths/long/AssessBestAlignCore.cc
        src/paths/long/CleanEfasta.cc
        src/paths/long/CreateGenome.cc
        src/paths/long/DigraphFromWords.cc
        src/paths/long/EvalAssembly.cc
        src/paths/long/EvalByReads.cc
        src/paths/long/KmerCount.cc
        src/paths/long/LongHyper.cc
        src/paths/long/ReadOriginTracker.cc
        src/paths/long/RefTrace.cc
        src/paths/long/RefTraceControl.cc
        src/paths/long/RefTraceTools.cc
        src/paths/long/SupportedHyperBasevector.cc
        src/paths/long/SupportedHyperBasevector3.cc
        src/paths/long/SupportedHyperBasevector4.cc
        src/paths/long/SupportedHyperBasevector5.cc
        src/paths/long/SupportedHyperBasevector6.cc
        src/paths/long/SupportedHyperBasevector7.cc
        src/paths/long/VariantCallTools.cc
        src/paths/long/VariantFilters.cc
        src/paths/long/VariantPostProcess.cc
        src/paths/long/VariantReadSupport.cc
        src/paths/long/Variants.cc
        src/paths/long/fosmid/FosmidPool.cc
        src/paths/long/large/CN1PeakFinder.cc
        src/paths/long/large/GapToyTools.cc
        src/paths/long/large/GapToyTools3.cc
        src/paths/long/large/Lines.cc
        src/paths/long/large/LocalLayout.cc
        src/paths/simulation/VCF.cc
        src/random/NormalDistribution.cc
        src/util/TextTable.cc)

SET(SOURCE_FILES_UNIPATH_01 src/modules/unipaths_01.cc
        src/AnnotatedContig.cc
        src/Misc.cc
        src/bam/ReadBAM.cc
        src/paths/MuxGraph.cc
        src/paths/OffsetTracker.cc
        src/paths/long/ExtendReadPath.cc
        src/paths/long/KmerAlign.h
        src/paths/long/ShortKmerReadPather.cc
        src/paths/long/large/ExtractReads.cc
        src/paths/long/large/ReadNameLookup.cc
        src/paths/long/large/Samples.cc
        src/system/Crash.cc)

SET(SOURCE_FILES_QGRAPH_02 src/modules/qgraph_02.cc
        src/AnnotatedContig.cc
        src/BasevectorTools.cc
        src/CompressedSequence.cc
        src/FastaConverter.cc
        src/FastaFileset.cc
        src/FastaFilestream.cc
        src/FastaFilestreamPreview.cc
        src/FastaNameParser.cc
        src/FastaVerifier.cc
        src/Misc.cc
        src/paths/long/BuildReadQGraph.cc
        src/paths/long/ExtendReadPath.cc
        src/paths/long/ShortKmerReadPather.cc
        src/paths/long/large/Repath.cc
        src/system/Crash.cc
        src/util/PeakFinder.h)

SET(SOURCE_FILES_CLEAN_03 src/modules/clean_03.cc
        src/CompressedSequence.cc
        src/FastaConverter.cc
        src/FastaFilestream.cc
        src/FastaFilestream.cc
        src/FastaFilestreamPreview.cc
        src/FastaVerifier.cc
        src/pairwise_aligners/SmithWatBanded.cc
        src/paths/long/large/Clean200.cc)

SET(SOURCE_FILES_PATCHING_04 src/modules/patching_04.cc
        src/kmers/MakeLookup.cc
        src/paths/long/large/AssembleGaps.cc
        src/paths/long/large/GapToyTools2.cc
        src/paths/long/large/GapToyTools4.cc
        src/paths/long/large/GapToyTools5.cc
        src/paths/long/large/Unsat.cc)

SET(SOURCE_FILES_SIMPLIFY_05 src/modules/simplify_05.cc
        src/kmers/MakeLookup.cc
        src/paths/long/DisplayTools.cc
        src/paths/long/large/GapToyTools2.cc
        src/paths/long/large/GapToyTools4.cc
        src/paths/long/large/GapToyTools5.cc
        src/paths/long/large/ImprovePath.cc
        src/paths/long/large/Simplify.cc
        src/paths/long/large/tools/NhoodInfoCore.cc
        src/paths/long/large/tools/NhoodInfoState.cc
        src/paths/long/large/tools/NhoodInfoStuff.cc)

SET(SOURCE_FILES_SCAFFOLDING_06 src/modules/scaffolding_06.cc
        src/kmers/MakeLookup.cc
        src/paths/long/DisplayTools.cc
        src/paths/long/large/FinalFiles.cc
        src/paths/long/large/GapToyTools4.cc
        src/paths/long/large/GapToyTools5.cc
        src/paths/long/large/MakeGaps.cc
        src/paths/long/large/Samples.cc)

## add executables and respective sources
add_executable(01_unipaths ${SOURCE_FILES_UNIPATH_01} $<TARGET_OBJECTS:base_libs>)
add_executable(02_qgraph ${SOURCE_FILES_QGRAPH_02} $<TARGET_OBJECTS:base_libs>
$<TARGET_OBJECTS:base2_libs>)
add_executable(03_clean ${SOURCE_FILES_CLEAN_03} $<TARGET_OBJECTS:base_libs>
$<TARGET_OBJECTS:base2_libs>)
add_executable(04_patching ${SOURCE_FILES_PATCHING_04} $<TARGET_OBJECTS:base_libs> $<TARGET_OBJECTS:base2_libs>)
add_executable(05_simplify ${SOURCE_FILES_SIMPLIFY_05} $<TARGET_OBJECTS:base_libs> $<TARGET_OBJECTS:base2_libs>)
add_executable(06_scaffolding ${SOURCE_FILES_SCAFFOLDING_06} $<TARGET_OBJECTS:base_libs> $<TARGET_OBJECTS:base2_libs>)

if ($MALLOC_LIBRARY)
    ## MALLOC_LIBRARY, path to libtbbmalloc.so
    get_filename_component(LIBSO_PATH LIBSO_PATH DIRECTORY)
    get_filename_component(LIBSO_NAME LIBSO_PATH NAME)
    MESSAGE($LIBSO_PATH " " $LIBSO_NAME)
    ## Link directories
#    link_directories("/tgac/software/production/intel_studio/2015.2/x86_64/composerxe/tbb/lib/intel64/gcc4.4")
    link_directories($LIBSO_PATH)

    ## Link libraries
    target_link_libraries(01_unipaths $LIBSO_NAME)
    target_link_libraries(02_qgraph $LIBSO_NAME)
    target_link_libraries(03_clean $LIBSO_NAME)
    target_link_libraries(04_patching $LIBSO_NAME)
    target_link_libraries(05_simplify $LIBSO_NAME)
    target_link_libraries(06_scaffolding $LIBSO_NAME)
endif()
{'fraction_non_alphanumeric': 0.09600603574291508, 'fraction_numerical': 0.010373933135285519, 'mean_word_length': 2.4278325521254245, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6560618', 'n_tokens_mistral': 7659, 'n_tokens_neox': 7396, 'n_words': 680}