]> sigrok.org Git - pulseview.git/commitdiff
Usage of std::thread requires linking with appropriate system thread library.
authorAurelien Jacobs <redacted>
Wed, 17 Sep 2014 15:22:14 +0000 (17:22 +0200)
committerAurelien Jacobs <redacted>
Wed, 17 Sep 2014 15:24:52 +0000 (17:24 +0200)
This fixes the following link error (on debian sid, gcc 4.9):

Linking CXX executable pulseview
/usr/bin/ld: CMakeFiles/pulseview.dir/pv/sigsession.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/pulseview.dir/build.make:2844: recipe for target 'pulseview' failed

CMakeLists.txt

index 2fd35b1c3a1ee389fa1587ff2c2cafdf624c2686..27859b3ad0674bcf48dbe16203229391dad0b82e 100644 (file)
@@ -92,6 +92,8 @@ endif()
 
 find_package(Boost 1.42 COMPONENTS filesystem system REQUIRED)
 
+find_package(Threads REQUIRED)
+
 #===============================================================================
 #= System Introspection
 #-------------------------------------------------------------------------------
@@ -318,6 +320,7 @@ link_directories(${Boost_LIBRARY_DIRS})
 set(PULSEVIEW_LINK_LIBS
        ${Boost_LIBRARIES}
        ${QT_LIBRARIES}
+       ${CMAKE_THREAD_LIBS_INIT}
 )
 
 if(STATIC_PKGDEPS_LIBS)