Code quality: Fixed compilation issues on Windows MSVC
This commit is contained in:
@@ -19,7 +19,7 @@ endif()
|
||||
#Compiler flags
|
||||
add_definitions(${BACKEND_DEFINES})
|
||||
if(WIN32)
|
||||
add_definitions("-DNOMINMAX -DISAAC_DLL")
|
||||
add_definitions("-DNOMINMAX")
|
||||
endif()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pedantic")
|
||||
|
@@ -3,12 +3,13 @@
|
||||
|
||||
#include <string>
|
||||
#include <exception>
|
||||
#include "isaac/defines.h"
|
||||
|
||||
namespace isaac
|
||||
{
|
||||
|
||||
/** @brief Exception for the case the generator is unable to deal with the operation */
|
||||
class unknown_datatype : public std::exception
|
||||
class ISAACAPI unknown_datatype : public std::exception
|
||||
{
|
||||
public:
|
||||
unknown_datatype(int);
|
||||
|
@@ -1,10 +1,11 @@
|
||||
if(ANDROID)
|
||||
add_library(isaac STATIC ${LIBISAAC_SRC})
|
||||
else()
|
||||
if(MSVC)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEF:${CMAKE_CURRENT_SOURCE_DIR}/wrap/clBLAS.def")
|
||||
endif()
|
||||
add_library(isaac SHARED ${LIBISAAC_SRC})
|
||||
if(MSVC)
|
||||
set_target_properties(isaac PROPERTIES COMPILE_FLAGS "-DISAAC_DLL")
|
||||
set_target_properties(isaac PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_SOURCE_DIR}/wrap/clBLAS.def")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
|
@@ -173,6 +173,11 @@ array& array::operator=(controller<TYPE> const & c)
|
||||
return *this;
|
||||
}
|
||||
|
||||
#define INSTANTIATE(TYPE) template ISAACAPI array& array::operator=<TYPE>(controller<TYPE> const &)
|
||||
INSTANTIATE(array);
|
||||
INSTANTIATE(array_expression);
|
||||
#undef INSTANTIATE
|
||||
|
||||
template<class DT>
|
||||
array & array::operator=(std::vector<DT> const & rhs)
|
||||
{
|
||||
@@ -181,6 +186,21 @@ array & array::operator=(std::vector<DT> const & rhs)
|
||||
return *this;
|
||||
}
|
||||
|
||||
#define INSTANTIATE(TYPE) template ISAACAPI array& array::operator=<TYPE>(std::vector<TYPE> const &)
|
||||
INSTANTIATE(char);
|
||||
INSTANTIATE(unsigned char);
|
||||
INSTANTIATE(short);
|
||||
INSTANTIATE(unsigned short);
|
||||
INSTANTIATE(int);
|
||||
INSTANTIATE(unsigned int);
|
||||
INSTANTIATE(long);
|
||||
INSTANTIATE(unsigned long);
|
||||
INSTANTIATE(long long);
|
||||
INSTANTIATE(unsigned long long);
|
||||
INSTANTIATE(float);
|
||||
INSTANTIATE(double);
|
||||
#undef INSTANTIATE
|
||||
|
||||
array & array::operator=(value_scalar const & rhs)
|
||||
{ return *this = controller<value_scalar>(rhs); }
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
; * limitations under the License.
|
||||
; * ************************************************************************/
|
||||
|
||||
LIBRARY clBLAS
|
||||
LIBRARY isaac
|
||||
|
||||
EXPORTS
|
||||
clblasSetup
|
||||
|
2
python/setup.py
Normal file → Executable file
2
python/setup.py
Normal file → Executable file
@@ -115,7 +115,7 @@ def main():
|
||||
include =' src/include'.split() + ['external/boost/include', os.path.join(find_module("numpy")[1], "core", "include")]
|
||||
|
||||
#Source files
|
||||
src = 'src/lib/value_scalar.cpp src/lib/array.cpp src/lib/wrap/clBLAS.cpp src/lib/symbolic/expression.cpp src/lib/symbolic/execute.cpp src/lib/symbolic/preset.cpp src/lib/symbolic/io.cpp src/lib/model/model.cpp src/lib/model/predictors/random_forest.cpp src/lib/exception/unknown_datatype.cpp src/lib/exception/operation_not_supported.cpp src/lib/driver/command_queue.cpp src/lib/driver/handle.cpp src/lib/driver/event.cpp src/lib/driver/program.cpp src/lib/driver/kernel.cpp src/lib/driver/device.cpp src/lib/driver/backend.cpp src/lib/driver/platform.cpp src/lib/driver/ndrange.cpp src/lib/driver/context.cpp src/lib/driver/buffer.cpp src/lib/driver/check.cpp src/lib/backend/parse.cpp src/lib/backend/stream.cpp src/lib/backend/mapped_object.cpp src/lib/backend/keywords.cpp src/lib/backend/binder.cpp src/lib/backend/templates/ger.cpp src/lib/backend/templates/gemv.cpp src/lib/backend/templates/gemm.cpp src/lib/backend/templates/dot.cpp src/lib/backend/templates/axpy.cpp src/lib/backend/templates/base.cpp '.split() + [os.path.join('src', 'wrap', sf) for sf in ['_isaac.cpp', 'core.cpp', 'driver.cpp', 'model.cpp', 'exceptions.cpp']]
|
||||
src = 'src/lib/wrap/clBLAS.cpp src/lib/value_scalar.cpp src/lib/symbolic/preset.cpp src/lib/symbolic/io.cpp src/lib/symbolic/expression.cpp src/lib/symbolic/execute.cpp src/lib/model/predictors/random_forest.cpp src/lib/model/model.cpp src/lib/exception/unknown_datatype.cpp src/lib/exception/operation_not_supported.cpp src/lib/driver/program.cpp src/lib/driver/platform.cpp src/lib/driver/ndrange.cpp src/lib/driver/kernel.cpp src/lib/driver/handle.cpp src/lib/driver/event.cpp src/lib/driver/device.cpp src/lib/driver/context.cpp src/lib/driver/command_queue.cpp src/lib/driver/check.cpp src/lib/driver/buffer.cpp src/lib/driver/backend.cpp src/lib/backend/templates/ger.cpp src/lib/backend/templates/gemv.cpp src/lib/backend/templates/gemm.cpp src/lib/backend/templates/dot.cpp src/lib/backend/templates/base.cpp src/lib/backend/templates/axpy.cpp src/lib/backend/stream.cpp src/lib/backend/parse.cpp src/lib/backend/mapped_object.cpp src/lib/backend/keywords.cpp src/lib/backend/binder.cpp src/lib/array.cpp '.split() + [os.path.join('src', 'wrap', sf) for sf in ['_isaac.cpp', 'core.cpp', 'driver.cpp', 'model.cpp', 'exceptions.cpp']]
|
||||
boostsrc = 'external/boost/libs/'
|
||||
for s in ['numpy','python','smart_ptr','system','thread']:
|
||||
src = src + [x for x in recursive_glob('external/boost/libs/' + s + '/src/','.cpp') if 'win32' not in x and 'pthread' not in x]
|
||||
|
Reference in New Issue
Block a user