Newer
Older
kra568
committed
if ("${BUILD_TESTS}" STREQUAL "yes")
Martin Beseda
committed
add_subdirectory(tests unit-tests)
kra568
committed
endif ()
kra568
committed
if ("${BUILD_EXAMPLES}" STREQUAL "yes")
Martin Beseda
committed
add_subdirectory(examples examples)
kra568
committed
endif ()
kra568
committed
if ("${BUILD_LIB}" STREQUAL "yes")
Martin Beseda
committed
set(LIB_TYPE "STATIC")
if (DEPENDENCIES_LINK_TYPE STREQUAL "shared")
set(LIB_TYPE "SHARED")
endif ()
Martin Beseda
committed
add_library(
Martin Beseda
committed
exprtk_wrap
Martin Beseda
committed
Martin Beseda
committed
${LIB_TYPE}
Martin Beseda
committed
Martin Beseda
committed
General/ExprtkWrapper.cpp
Martin Beseda
committed
)
target_include_directories(
Martin Beseda
committed
exprtk_wrap
PRIVATE
${EXPRTK_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${SRC_DIR}
)
Martin Beseda
committed
Martin Beseda
committed
target_link_libraries(
exprtk_wrap
PRIVATE
${Boost_LIBRARIES}
Martin Beseda
committed
)
Martin Beseda
committed
add_library(
lib4neuro
${LIB_TYPE}
Neuron/Neuron.cpp
Neuron/NeuronBinary.cpp
Neuron/NeuronConstant.cpp
Neuron/NeuronLinear.cpp
Neuron/NeuronLogistic.cpp
Network/NeuralNetwork.cpp
Network/NeuralNetworkSum.cpp
NetConnection/ConnectionFunctionGeneral.cpp
NetConnection/ConnectionFunctionIdentity.cpp
LearningMethods/ParticleSwarm.cpp
LearningMethods/GradientDescent.cpp
DataSet/DataSet.cpp
ErrorFunction/ErrorFunctions.cpp
Solvers/DESolver.cpp
CSVReader/CSVReader.cpp
CrossValidator/CrossValidator.cpp
NormalizationStrategy/NormalizationStrategy.cpp
)
# FileSystem C++ library - has to be linked manually in GCC-8
Martin Beseda
committed
set(CXX_FILESYSTEM_LIB "")
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(CXX_FILESYSTEM_LIB "stdc++fs")
endif ()
Martin Beseda
committed
lib4neuro
Martin Beseda
committed
PRIVATE
Martin Beseda
committed
exprtk_wrap
Martin Beseda
committed
${CXX_FILESYSTEM_LIB}
Martin Beseda
committed
target_include_directories(
lib4neuro
Martin Beseda
committed
PUBLIC
Martin Beseda
committed
PRIVATE
Martin Beseda
committed
${EXPRTK_INCLUDE_DIR}
Martin Beseda
committed
${Boost_INCLUDE_DIRS}
set_target_properties(
Martin Beseda
committed
lib4neuro
Martin Beseda
committed
PROPERTIES
Martin Beseda
committed
ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin"
kra568
committed
Martin Beseda
committed
# if(WIN32)
# set(PREFIX "lib")
# endif()
if (WIN32 AND "${DEPENDENCIES_LINK_TYPE}" STREQUAL "shared")
add_library(${PREFIX}boost_unit_test STATIC boost_test_lib_dummy.cpp)
elseif ("${DEPENDENCIES_LINK_TYPE}" STREQUAL "static")
add_library(${PREFIX}boost_unit_test STATIC boost_test_lib_dummy.cpp)
elseif ("${DEPENDENCIES_LINK_TYPE}" STREQUAL "shared")
add_library(${PREFIX}boost_unit_test SHARED boost_test_lib_dummy.cpp)
Martin Beseda
committed
endif ()
Martin Beseda
committed
${PREFIX}boost_unit_test
Martin Beseda
committed
PRIVATE
kra568
committed
endif ()