Something went wrong on our end
-
Martin Beseda authoredMartin Beseda authored
CMakeLists.txt 2.97 KiB
if ("${BUILD_TESTS}" STREQUAL "yes")
add_subdirectory(tests unit-tests)
endif ()
if ("${BUILD_EXAMPLES}" STREQUAL "yes")
add_subdirectory(examples examples)
endif ()
if ("${BUILD_LIB}" STREQUAL "yes")
set(LIB_TYPE "STATIC")
if (DEPENDENCIES_LINK_TYPE STREQUAL "shared")
set(LIB_TYPE "SHARED")
endif ()
add_library(
exprtk_wrap
${LIB_TYPE}
General/ExprtkWrapper.cpp
)
target_include_directories(
exprtk_wrap
PRIVATE
${EXPRTK_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${SRC_DIR}
)
target_link_libraries(
exprtk_wrap
PRIVATE
${Boost_LIBRARIES}
)
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
set(CXX_FILESYSTEM_LIB "")
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(CXX_FILESYSTEM_LIB "stdc++fs")
endif ()
target_link_libraries(
lib4neuro
PRIVATE
exprtk_wrap
${Boost_LIBRARIES}
${CXX_FILESYSTEM_LIB}
)
target_include_directories(
lib4neuro
PUBLIC
${ROOT_DIR}/include
PRIVATE
${EXPRTK_INCLUDE_DIR}
${SRC_DIR}
${Boost_INCLUDE_DIRS}
)
set_target_properties(
lib4neuro
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin"
)
set(PREFIX "")
# 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)
endif ()
target_include_directories(
${PREFIX}boost_unit_test
PRIVATE
${Boost_INCLUDE_DIRS}
)
endif ()