summaryrefslogtreecommitdiff
path: root/Tests/FindBoost/Test/main.cxx
blob: 50ddadfba835dc6ed0d91b90e361ca0a4397f772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <boost/filesystem.hpp>
#include <boost/thread.hpp>

namespace {

boost::mutex m1;
boost::recursive_mutex m2;

void threadmain()
{
  boost::lock_guard<boost::mutex> lock1(m1);
  boost::lock_guard<boost::recursive_mutex> lock2(m2);

  boost::filesystem::path p(boost::filesystem::current_path());
}
}

int main()
{
  boost::thread foo(threadmain);
  foo.join();

  int version = BOOST_VERSION;
  int major = version / 100000;
  int minor = version / 100 % 1000;
  int patch = version % 100;
  char version_string[100];
  snprintf(version_string, sizeof(version_string), "%d.%d.%d", major, minor,
           patch);
  printf("Found Boost version %s, expected version %s\n", version_string,
         CMAKE_EXPECTED_BOOST_VERSION_COMPONENTS);
  int ret = strcmp(version_string, CMAKE_EXPECTED_BOOST_VERSION_COMPONENTS);
  char raw_version_string[100];
  snprintf(raw_version_string, sizeof(raw_version_string), "%d",
           BOOST_VERSION);
  printf("Found Boost version %s, expected version %s\n", raw_version_string,
         CMAKE_EXPECTED_BOOST_VERSION);
  return ret | strcmp(raw_version_string, CMAKE_EXPECTED_BOOST_VERSION);
}