Skip to content
Snippets Groups Projects
Commit 25704bab authored by David Vojtek's avatar David Vojtek
Browse files

.

parent adb664a0
No related branches found
No related tags found
No related merge requests found
......@@ -21,7 +21,7 @@ if (NOT CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE RELEASE CACHE STRING
"Choose the type of build, options are: None Debug Release."
FORCE)
#elseif("CMAKE_BUILD_TYPE" STREQUAL "Debug")
elseif("CMAKE_BUILD_TYPE" STREQUAL "Debug")
#TODO rewrite to use add_compile_definitions
endif (NOT CMAKE_BUILD_TYPE)
......@@ -39,15 +39,15 @@ endif()
set(CMAKE_CXX_STANDARD 17)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mbig-obj")
if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xHost" )
elseif( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" )
elseif( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0 /bigobj")
add_compile_options("/D _SCL_SECURE_NO_WARNINGS")
add_compile_options("/D_CRT_SECURE_NO_WARNINGS")
#elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MINGW")
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mbig-obj")
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MINGW")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mbig-obj")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
endif()
......@@ -71,9 +71,9 @@ set(Boost_DEBUG ON)
find_package(
Boost
COMPONENTS
system
serialization
COMPONENTS
system
serialization
random
)
......@@ -127,5 +127,4 @@ if("${BUILD_LIB}" STREQUAL "no")
endif()
add_subdirectory(${SRC_DIR} ${PROJECT_BINARY_DIR})
message("first cmake done")
add_subdirectory(${SRC_DIR} ${PROJECT_BINARY_DIR})
\ No newline at end of file
......@@ -5,7 +5,7 @@ set CLEAN_AFTER=no
call clean.bat
cd build_scripts\windows
call win_download_dependencies
set DEPENDENCIES_LINK_TYPE=static
call win_VS_build_x64_debug.bat
cd ..\..
......@@ -9,9 +9,17 @@ set "BUILD_TESTS="
set "BUILD_LIB="
set "BUILD_SOMETHING="
set "BUILD_SOMETHING_LIB="
set "BOOST_ROOT="
set "LIB4NEURO_INCLUDE_DIR="
set "MAKEFILE_GENERATOR="
set "LINK_TYPE="
set "CLEAN_AF="
rem call VsDevCmd.bat
set BOOST_ROOT=%cd%..\..\external_dependencies\boost
set LIB4NEURO_INCLUDE_DIR=%cd%..\..\include
rem Should we rebuild BOOST? (yes/no)
set REBUILD_BOOST=no
......@@ -21,11 +29,21 @@ set BUILD_EXAMPLES=yes
rem Should we build the unit-tests? (yes/no)
set BUILD_TESTS=yes
rem Should we build the lib4neuro library? (yes)
rem Should we build the lib4neuro library? (yes/no)
set BUILD_LIB=yes
rem **********************DO NOT CHANGE BEYOND THIS LINE****************************************
set LINK_TYPE=static
IF "%DEPENDENCIES_LINK_TYPE%" == "shared" (
set LINK_TYPE=shared
)
set CLEAN_AF=yes
IF "%CLEAN_AFTER%"=="no" (
set CLEAN_AF=no
)
set BUILD_SOMETHING=no
set BUILD_SOMETHING_LIB=no
......@@ -35,18 +53,21 @@ IF "%BUILD_LIB%"=="yes" (
echo Lib4neuro will be built in 'build\lib\'
set BUILD_SOMETHING=yes
set BUILD_SOMETHING_LIB=yes
call win_clean_lib.bat
)
IF "%BUILD_TESTS%"=="yes" (
echo Lib4neuro unit tests will be built in 'build\unit-tests'
set BUILD_SOMETHING=yes
set BUILD_SOMETHING_LIB=yes
call win_clean_tests.bat
)
IF "%BUILD_EXAMPLES%"=="yes" (
echo Lib4neuro examples will be built in 'build\examples'
set BUILD_SOMETHING=yes
set BUILD_SOMETHING_LIB=yes
call win_clean_examples.bat
)
IF "%REBUILD_BOOST%"=="yes" (
......@@ -69,88 +90,48 @@ IF "%REBUILD_BOOST%"=="yes" (
cd external_dependencies\boost
echo "DEPENDENCIES_LINK_TYPE %DEPENDENCIES_LINK_TYPE%"
.\b2 --layout=system variant=debug link=static address-model=64 --with-system --with-serialization --with-random || exit 1
.\b2 --layout=system variant=debug link=%LINK_TYPE% address-model=64 --with-system --with-serialization --with-random || goto error_occured_boost
cd ..\..\build_scripts\windows
echo "LIBRARIES BOOST:"
dir ..\..\external_dependencies\boost\stage\lib
)
IF "%BUILD_SOMETHING_LIB%"=="yes" (
IF "%BUILD_LIB%"=="yes" (
call win_clean_lib.bat
)
IF "%BUILD_EXAMPLES%"=="yes" (
call win_clean_examples.bat
)
IF "%BUILD_TESTS%"=="yes" (
call win_clean_tests.bat
)
title Building the 'lib4neuro' project for Debug (preparing makefiles)
title Building the 'lib4neuro' project for Debug [preparing makefiles]
rem C++ compiler (Requires Visual Studio 2017)
set CXX_COMPILER=cl
set C_COMPILER=cl
set MAKEFILE_GENERATOR="Visual Studio 15 2017 Win64"
cd ..\..
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=%CXX_COMPILER% -DCMAKE_C_COMPILER=%C_COMPILER% -DBOOST_LIBRARYDIR=%BOOST_LIBRARYDIR% -DBOOST_INCLUDEDIR=%BOOST_INCLUDEDIR% -DBUILD_TESTS=%BUILD_TESTS% -DBUILD_EXAMPLES=%BUILD_EXAMPLES% -DBUILD_LIB=%BUILD_LIB% -DLIB4NEURO_DIR=build\lib -DDEPENDENCIES_LINK_TYPE=static . || exit 1
title Building the 'lib4neuro' project for Debug (building)
(cmake --build .) && (echo "Build complete.") || exit 1
cd ..\..
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=%CXX_COMPILER% -DCMAKE_C_COMPILER=%C_COMPILER% -DBOOST_ROOT=%BOOST_ROOT% -DBOOST_LIBRARYDIR=%BOOST_LIBRARYDIR% -DBOOST_INCLUDEDIR=%BOOST_INCLUDEDIR% -DBUILD_TESTS=%BUILD_TESTS% -DBUILD_EXAMPLES=%BUILD_EXAMPLES% -DBUILD_LIB=%BUILD_LIB% -DLIB4NEURO_DIR=build\lib -DDEPENDENCIES_LINK_TYPE=%LINK_TYPE% -DLIB4NEURO_INCLUDE_DIR=%LIB4NEURO_INCLUDE_DIR% . || goto error_occured_lib
title Building the 'lib4neuro' project for Debug [building]
cmake --build . --config Debug && echo "Build complete." || goto error_occured_lib
cd build_scripts\windows
IF "%BUILD_LIB%"=="yes" (
cd ..\..
rem Moving LIB files around to have a neater structure
xcopy /y build\bin\Debug\lib4neuro.dll build\lib 2>NUL
xcopy /y build\lib\Debug\lib4neuro.lib build\lib 2>NUL
rmdir /s /q "build\lib\Debug" 2> NUL
rmdir /s /q "build\libboost_unit_test.dir" 2> NUL
cd build_scripts\windows
)
IF "%BUILD_EXAMPLES%"=="yes" (
cd ..\..
rem Moving EXAMPLE files around to have a neater structure
mkdir build\tmp
xcopy /y build\examples\bin\Debug\*.exe build\tmp 2>NUL
rmdir /s /q "build\examples" 2> NUL
move build\tmp build\examples
xcopy /y build\lib\*.dll build\examples 2>NUL
cd build_scripts\windows
)
IF "%BUILD_TESTS%"=="yes" (
cd ..\..
rem Moving EXAMPLE files around to have a neater structure
mkdir build\tmp
xcopy /y build\unit-tests\bin\Debug\*.exe build\tmp 2>NUL
rmdir /s /q "build\unit-tests" 2> NUL
move build\tmp build\unit-tests
xcopy /y build\lib\*.dll build\unit-tests 2>NUL
cd build_scripts\windows
)
call win_clean_garbage.bat
)
goto final_goto
:error_occured_lib
cd build_scripts\windows
goto final_goto_error
:error_occured_boost
cd ..\..\build_scripts\windows
goto final_goto_error
:final_goto_error
IF "%CLEAN_AF%"=="yes" IF "%BUILD_LIB%"=="yes" call win_clean_after_lib.bat
IF "%CLEAN_AF%"=="yes" IF "%BUILD_EXAMPLES%"=="yes" call win_clean_after_examples.bat
IF "%CLEAN_AF%"=="yes" IF "%BUILD_TESTS%"=="yes" call win_clean_after_tests.bat
IF "%CLEAN_AF%"=="yes" IF "%BUILD_SOMETHING_LIB%"=="yes" call win_clean_garbage.bat
exit 1
:final_goto
IF "%CLEAN_AF%"=="yes" IF "%BUILD_LIB%"=="yes" call win_clean_after_lib.bat
IF "%CLEAN_AF%"=="yes" IF "%BUILD_EXAMPLES%"=="yes" call win_clean_after_examples.bat
IF "%CLEAN_AF%"=="yes" IF "%BUILD_TESTS%"=="yes" call win_clean_after_tests.bat
IF "%CLEAN_AF%"=="yes" IF "%BUILD_SOMETHING_LIB%"=="yes" call win_clean_garbage.bat
\ No newline at end of file
message("second cmake done")
if ("${BUILD_TESTS}" STREQUAL "yes")
add_subdirectory(tests unit-tests)
endif ()
......@@ -37,15 +35,15 @@ if ("${BUILD_LIB}" STREQUAL "yes")
add_library(lib4neuro SHARED
Neuron/Neuron.cpp
Neuron/NeuronBinary.cpp
Neuron/NeuronConstant.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
LearningMethods/ParticleSwarm.cpp
LearningMethods/GradientDescent.cpp
DataSet/DataSet.cpp
ErrorFunction/ErrorFunctions.cpp
Solvers/DESolver.cpp
......@@ -101,4 +99,3 @@ if ("${BUILD_LIB}" STREQUAL "yes")
)
endif ()
......@@ -47,7 +47,6 @@ BOOST_AUTO_TEST_CASE(Particle_construction_test) {
MOCK_EXPECT(error.get_dimension).once().returns(5);
MOCK_EXPECT(error.eval).once().returns(0.8);
BOOST_CHECK_NO_THROW(Particle(&error, &domain_bound));
mock::verify( error );
}
BOOST_AUTO_TEST_CASE(Particle_get_coordinate_test) {
......@@ -61,7 +60,17 @@ BOOST_AUTO_TEST_CASE(Particle_get_coordinate_test) {
Particle particle2(&error, &domain_bound);
BOOST_CHECK(*particle1.get_coordinate() != *particle2.get_coordinate());
mock::verify( error );
}
BOOST_AUTO_TEST_CASE(Particle_get_optimal_value_test) {
std::vector<double> domain_bound{1, 2, 3, 4, 5};
mock_Error error;
MOCK_EXPECT(error.get_dimension).returns(5);
MOCK_EXPECT(error.eval).returns(0.8);
Particle particle1(&error, &domain_bound);
BOOST_CHECK_EQUAL(0.8, particle1.get_optimal_value());
}
//Random
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment