Newer
Older
Martin Beseda
committed
# Handle undefined parameters
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
40
IF(NOT BUILD_LIB)
IF(ENV{BUILD_LIB})
SET(BUILD_LIB $ENV{BUILD_LIB})
ELSE()
SET(BUILD_LIB "yes")
ENDIF()
ENDIF()
IF(NOT BUILD_EXAMPLES)
IF(ENV{BUILD_EXAMPLES})
SET(BUILD_EXAMPLES $ENV{BUILD_EXAMPLES})
ELSE()
SET(BUILD_EXAMPLES "no")
ENDIF()
ENDIF()
IF(NOT BUILD_TESTS)
IF(ENV{BUILD_TESTS})
SET(BUILD_TESTS $ENV{BUILD_TESTS})
ELSE()
SET(BUILD_TESTS "no")
ENDIF()
ENDIF()
IF("${BUILD_LIB}" STREQUAL "yes")
SET(LIBRARIES_OUTPUT_DIR ${PROJECT_BINARY_DIR}/lib)
SET(LIB_TYPE "STATIC")
IF(DEPENDENCIES_LINK_TYPE STREQUAL "shared")
SET(LIB_TYPE "SHARED")
ENDIF()
ADD_LIBRARY(
exprtk_wrap
${LIB_TYPE}
General/ExprtkWrapper.cpp
Martin Beseda
committed
)
SET_TARGET_PROPERTIES(
exprtk_wrap
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
Martin Beseda
committed
)
Martin Beseda
committed
TARGET_INCLUDE_DIRECTORIES(
exprtk_wrap
Martin Beseda
committed
PRIVATE
${EXPRTK_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${SRC_DIR}
Martin Beseda
committed
)
Martin Beseda
committed
TARGET_LINK_LIBRARIES(
exprtk_wrap
Martin Beseda
committed
PRIVATE
${Boost_LIBRARIES}
Martin Beseda
committed
)
IF(NOT OpenBLAS_LIBRARIES)
SET(OpenBLAS_LIBRARIES "")
ENDIF()
IF(NOT BLAS_LIBRARIES)
SET(BLAS_LIBRARIES "")
ENDIF()
IF(NOT LAPACK_LIBRARIES)
SET(LAPACK_LIBRARIES "")
ENDIF()
ADD_LIBRARY(
lib4neuro
${LIB_TYPE}
Neuron/Neuron.cpp
Neuron/NeuronBinary.cpp
Neuron/NeuronConstant.cpp
Neuron/NeuronLinear.cpp
Neuron/NeuronAbsolute.cpp
Neuron/NeuronLogistic.cpp
Neuron/NeuronRectifier.cpp
Neuron/NeuronFilter.cpp
Neuron/NeuronBinaryBiased.cpp
Neuron/NeuronLinearSaturated.cpp
Network/NeuralNetwork.cpp
Network/NeuralNetworkSum.cpp
NetConnection/ConnectionFunctionGeneral.cpp
NetConnection/ConnectionFunctionIdentity.cpp
LearningMethods/LearningMethods.cpp
LearningMethods/ParticleSwarm.cpp
LearningMethods/GradientDescent.cpp
LearningMethods/LevenbergMarquardt.cpp
LearningMethods/GradientDescentBB.cpp
DataSet/DataSet.cpp
ErrorFunction/ErrorFunctions.cpp
Solvers/DESolver.cpp
CSVReader/CSVReader.cpp
CrossValidator/CrossValidator.cpp
NormalizationStrategy/NormalizationStrategy.cpp
LearningMethods/GradientDescentSingleItem.cpp
LearningMethods/LearningSequence.cpp
LearningMethods/RandomSolution.cpp
NetConnection/ConnectionFunctionConstant.cpp
Neuron/NeuronBiased.cpp
)
SET(THREADS_PREFER_PTHREAD_FLAG ON)
FIND_PACKAGE(Threads REQUIRED)
SET(GFORT "")
IF(OpenBLAS_FOUND)
MESSAGE("Linking GFortran because of OpenBLAS...")
SET(GFORT gfortran)
ENDIF()
TARGET_LINK_LIBRARIES(
lib4neuro
PRIVATE
exprtk_wrap
Threads::Threads
${Boost_LIBRARIES}
${CXX_FILESYSTEM_LIB}
${OpenBLAS_LIBRARIES}
${BLAS_LIBRARIES}
${LAPACK_LIBRARIES}
${GFORT}
TARGET_INCLUDE_DIRECTORIES(
lib4neuro
PUBLIC
${ROOT_DIR}/include
PRIVATE
${EXPRTK_INCLUDE_DIR}
${SRC_DIR}
${Boost_INCLUDE_DIRS}
${ARMADILLO_INCLUDE_DIR}
SET_TARGET_PROPERTIES(
lib4neuro
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
kra568
committed
IF("${DEPENDENCIES_LINK_TYPE}" STREQUAL "static")
ADD_LIBRARY(boost_unit_test STATIC boost_test_lib_dummy.cpp)
ELSEIF("${DEPENDENCIES_LINK_TYPE}" STREQUAL "shared")
ADD_LIBRARY(boost_unit_test SHARED boost_test_lib_dummy.cpp)
ENDIF()
SET_TARGET_PROPERTIES(
boost_unit_test
Martin Beseda
committed
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
Martin Beseda
committed
)
TARGET_INCLUDE_DIRECTORIES(
${PREFIX}boost_unit_test
PRIVATE
${Boost_INCLUDE_DIRS}
IF("${BUILD_TESTS}" STREQUAL "yes")
ADD_SUBDIRECTORY(tests)
ENDIF()
IF("${BUILD_EXAMPLES}" STREQUAL "yes")
ADD_SUBDIRECTORY(examples)
ENDIF()