|
From: Lasse Kärkkäi. <tr...@us...> - 2009-10-26 19:26:43
|
Module: performous
Branch: master
Commit: 370e897cbed963d155132c89fe85ae3da1866b1f
Author: Lasse Kärkkäinen <tro...@tr...>
Date: Mon Oct 26 21:26:04 2009 +0200
Windows compatibility fixes.
---
libs/libda/CMakeLists.txt | 6 +++++-
libs/libda/include/libda/audio.hpp | 4 ++--
libs/libda/src/CMakeLists.txt | 5 -----
libs/libda/src/audio.cpp | 4 ++--
libs/plugin++/CMakeLists.txt | 5 ++++-
libs/plugin++/include/plugin++/loader.hpp | 3 +++
libs/plugin++/include/plugin++/plugin.hpp | 4 ++--
7 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/libs/libda/CMakeLists.txt b/libs/libda/CMakeLists.txt
index 1770cc5..e058461 100644
--- a/libs/libda/CMakeLists.txt
+++ b/libs/libda/CMakeLists.txt
@@ -4,13 +4,17 @@ cmake_minimum_required(VERSION 2.6)
set(LIBDA_PLUGIN_DIR "lib${LIB_SUFFIX}/libda")
include_directories(include)
+include_directories(../plugin++/include)
FILE(GLOB HEADER_FILES "include/libda/*")
install(FILES ${HEADER_FILES} DESTINATION include/libda)
if(CMAKE_COMPILER_IS_GNUCXX)
message(STATUS "GCC detected, adding compile flags")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -std=c++98 -Wall -Wextra -fvisibility=hidden -fvisibility-inlines-hidden")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -Wall -Wextra")
+ if(NOT WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -fvisibility=hidden -fvisibility-inlines-hidden")
+ endif(NOT WIN32)
endif(CMAKE_COMPILER_IS_GNUCXX)
add_subdirectory(src)
diff --git a/libs/libda/include/libda/audio.hpp b/libs/libda/include/libda/audio.hpp
index 9c2a0cf..10e5cf5 100644
--- a/libs/libda/include/libda/audio.hpp
+++ b/libs/libda/include/libda/audio.hpp
@@ -74,8 +74,8 @@ namespace da {
typedef boost::function<bool (pcm_data& it)> callback_t;
struct settings {
- static const std::size_t low;
- static const std::size_t high;
+ DLL_PUBLIC static const std::size_t low;
+ DLL_PUBLIC static const std::size_t high;
settings(std::string const& devstr = ""):
m_channels(high),
m_channels_near(true),
diff --git a/libs/libda/src/CMakeLists.txt b/libs/libda/src/CMakeLists.txt
index 549dcb6..e2bb1b5 100644
--- a/libs/libda/src/CMakeLists.txt
+++ b/libs/libda/src/CMakeLists.txt
@@ -4,11 +4,6 @@ set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREAD ON)
find_package(Boost 1.34 REQUIRED COMPONENTS thread filesystem)
-if(CMAKE_COMPILER_IS_GNUCXX)
- message(STATUS "GCC detected, adding compile flags")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -std=c++98 -pedantic -Wall -Wextra -fvisibility=hidden")
-endif(CMAKE_COMPILER_IS_GNUCXX)
-
include_directories(${Boost_INCLUDE_DIRS})
add_library(da SHARED audio.cpp)
target_link_libraries(da plugin++ ${Boost_LIBRARIES})
diff --git a/libs/libda/src/audio.cpp b/libs/libda/src/audio.cpp
index 3bd843a..8374a66 100644
--- a/libs/libda/src/audio.cpp
+++ b/libs/libda/src/audio.cpp
@@ -7,8 +7,8 @@
#include <limits>
namespace da {
- DLL_PUBLIC const std::size_t settings::low = std::numeric_limits<std::size_t>::min();
- DLL_PUBLIC const std::size_t settings::high = std::numeric_limits<std::size_t>::max();
+ const std::size_t settings::low = std::numeric_limits<std::size_t>::min();
+ const std::size_t settings::high = std::numeric_limits<std::size_t>::max();
class init_impl {
plugin::loader m_loader;
diff --git a/libs/plugin++/CMakeLists.txt b/libs/plugin++/CMakeLists.txt
index f460392..ee49943 100644
--- a/libs/plugin++/CMakeLists.txt
+++ b/libs/plugin++/CMakeLists.txt
@@ -5,7 +5,10 @@ include_directories(include)
if(CMAKE_COMPILER_IS_GNUCXX)
message(STATUS "GCC detected, adding compile flags")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -pedantic -Wall -Wextra -fvisibility=hidden -fvisibility-inlines-hidden")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -Wall -Wextra")
+ if(NOT WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
+ endif(NOT WIN32)
endif(CMAKE_COMPILER_IS_GNUCXX)
if (WIN32)
diff --git a/libs/plugin++/include/plugin++/loader.hpp b/libs/plugin++/include/plugin++/loader.hpp
index 373688a..89519e6 100644
--- a/libs/plugin++/include/plugin++/loader.hpp
+++ b/libs/plugin++/include/plugin++/loader.hpp
@@ -9,6 +9,7 @@
#include <sstream>
#include <boost/filesystem.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
+#include <stdexcept>
namespace plugin {
namespace fs = boost::filesystem;
@@ -33,6 +34,8 @@ namespace plugin {
dlls.push_back(new dll(it->string()));
} catch (std::runtime_error const& e) {
std::cerr << e.what() << std::endl;
+ } catch (...) {
+ std::cerr << "WTF?" << std::endl;
}
}
}
diff --git a/libs/plugin++/include/plugin++/plugin.hpp b/libs/plugin++/include/plugin++/plugin.hpp
index 32be7ee..b1fa2f0 100644
--- a/libs/plugin++/include/plugin++/plugin.hpp
+++ b/libs/plugin++/include/plugin++/plugin.hpp
@@ -34,7 +34,7 @@ namespace plugin {
template <typename Base,
typename Arg = std::string const&,
typename Key = std::string>
- class registry {
+ class DLL_PUBLIC registry {
public:
typedef Base base_type;
typedef Arg arg_type;
@@ -49,7 +49,7 @@ namespace plugin {
// being a static member variable of this class to ensure that it gets
// initialized when it is used the first time. If it were static member,
// the initialization (on program startup) might occur too late.
- DLL_PUBLIC static map_t& map() {
+ static map_t& map() {
static map_t m;
return m;
}
|