Skip to content
Snippets Groups Projects
CMakeLists.txt 2.97 KiB
Newer Older
David Vojtek's avatar
David Vojtek committed

David Vojtek's avatar
David Vojtek committed

    set(LIB_TYPE "STATIC")
    if (DEPENDENCIES_LINK_TYPE STREQUAL "shared")
        set(LIB_TYPE "SHARED")
    endif ()
            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(
            ${Boost_LIBRARIES}
            ${ROOT_DIR}/include
            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")
Martin Beseda's avatar
Martin Beseda committed
        add_library(${PREFIX}boost_unit_test SHARED boost_test_lib_dummy.cpp)

    target_include_directories(
            ${Boost_INCLUDE_DIRS}