moving to cmake
This commit is contained in:
69
CMakeLists.txt
Normal file
69
CMakeLists.txt
Normal file
@@ -0,0 +1,69 @@
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
project(NeuralNetwork CXX)
|
||||
|
||||
OPTION(BUILD_SHARED_LIBS "Build also shared library." ON)
|
||||
OPTION(USE_SSE "IF sse should be used." ON)
|
||||
OPTION(USE_SSE2 "IF only sse2 should be used." OFF)
|
||||
OPTION(ENABLE_TESTS "enables tests" ON)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Weffc++ -Wshadow -Wstrict-aliasing -ansi -Woverloaded-virtual -Wdelete-non-virtual-dtor -Wno-unused-function")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++14")
|
||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread")
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mtune=native -O3")
|
||||
|
||||
if(USE_SSE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2 -DUSE_SSE")
|
||||
if(USE_SSE2)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_SSE2")
|
||||
endif(USE_SSE2)
|
||||
endif(USE_SSE)
|
||||
|
||||
include_directories(./include/)
|
||||
|
||||
set (LIBRARY_SOURCES
|
||||
include/NeuralNetwork/ActivationFunction/ActivationFunction.h
|
||||
include/NeuralNetwork/ActivationFunction/Heaviside.h
|
||||
include/NeuralNetwork/ActivationFunction/HyperbolicTangent.h
|
||||
include/NeuralNetwork/ActivationFunction/Linear.h
|
||||
include/NeuralNetwork/ActivationFunction/Sigmoid.h
|
||||
include/NeuralNetwork/ActivationFunction/StreamingActivationFunction.h
|
||||
include/NeuralNetwork/BasisFunction/BasisFunction.h
|
||||
include/NeuralNetwork/BasisFunction/Linear.h
|
||||
include/NeuralNetwork/BasisFunction/Product.h
|
||||
include/NeuralNetwork/BasisFunction/Radial.h
|
||||
include/NeuralNetwork/BasisFunction/StreamingBasisFunction.h
|
||||
include/NeuralNetwork/FeedForward/Layer.h
|
||||
include/NeuralNetwork/FeedForward/Network.h
|
||||
include/NeuralNetwork/Recurrent/Network.h
|
||||
include/NeuralNetwork/Network.h
|
||||
include/NeuralNetwork/Neuron.h
|
||||
include/NeuralNetwork/Stringifiable.h
|
||||
include/NeuralNetwork/Stringifiable.h
|
||||
src/NeuralNetwork/Learning/BackPropagation.cpp include/NeuralNetwork/Learning/BackPropagation.h
|
||||
include/sse_mathfun.h
|
||||
src/NeuralNetwork/FeedForward/Layer.cpp
|
||||
src/NeuralNetwork/FeedForward/Network.cpp
|
||||
src/NeuralNetwork/Recurrent/Network.cpp
|
||||
src/NeuralNetwork/Neuron.cpp
|
||||
src/sse_mathfun.cpp
|
||||
)
|
||||
|
||||
add_library(NeuralNetwork STATIC ${LIBRARY_SOURCES})
|
||||
|
||||
IF(BUILD_SHARED_LIBS)
|
||||
add_library(NeuralNetworkShared SHARED ${LIBRARY_SOURCES})
|
||||
set_target_properties(NeuralNetworkShared PROPERTIES OUTPUT_NAME NeuralNetwork)
|
||||
ENDIF(BUILD_SHARED_LIBS)
|
||||
|
||||
IF(ENABLE_TESTS)
|
||||
add_subdirectory (tests)
|
||||
|
||||
enable_testing()
|
||||
|
||||
add_test(activation tests/backpropagation)
|
||||
add_test(backpropagation tests/backpropagation)
|
||||
add_test(basis tests/basis)
|
||||
add_test(feedforward tests/feedforward)
|
||||
add_test(recurrent tests/recurrent)
|
||||
ENDIF(ENABLE_TESTS)
|
||||
Reference in New Issue
Block a user