cmake_minimum_required(VERSION 2.8.12)
project(opennn)

FILE(GLOB PYBIND_SRC
./opennn/pybind.cpp 
../opennn/variables.cpp 
../opennn/instances.cpp 
../opennn/missing_values.cpp 
../opennn/data_set.cpp 
../opennn/inputs.cpp 
../opennn/outputs.cpp 
../opennn/unscaling_layer.cpp 
../opennn/scaling_layer.cpp 
../opennn/inputs_trending_layer.cpp 
../opennn/outputs_trending_layer.cpp 
../opennn/probabilistic_layer.cpp 
../opennn/perceptron_layer.cpp 
../opennn/neural_network.cpp 
../opennn/multilayer_perceptron.cpp  
../opennn/bounding_layer.cpp 
../opennn/sum_squared_error.cpp 
../opennn/loss_index.cpp 
../opennn/normalized_squared_error.cpp 
../opennn/minkowski_error.cpp 
../opennn/mean_squared_error.cpp 
../opennn/weighted_squared_error.cpp 
../opennn/cross_entropy_error.cpp 
../opennn/training_strategy.cpp 
../opennn/quasi_newton_method.cpp 
../opennn/stochastic_gradient_descent.cpp 
../opennn/levenberg_marquardt_algorithm.cpp 
../opennn/gradient_descent.cpp 
../opennn/conjugate_gradient.cpp 
../opennn/model_selection.cpp 
../opennn/order_selection_algorithm.cpp 
../opennn/incremental_order.cpp 
../opennn/golden_section_order.cpp 
../opennn/simulated_annealing_order.cpp 
../opennn/inputs_selection_algorithm.cpp 
../opennn/growing_inputs.cpp 
../opennn/pruning_inputs.cpp 
../opennn/genetic_algorithm.cpp 
../opennn/testing_analysis.cpp  
../opennn/numerical_integration.cpp 
../opennn/numerical_differentiation.cpp 
../opennn/principal_components_layer.cpp 
../opennn/selective_pruning.cpp 
../opennn/file_utilities.cpp 
../opennn/association_rules.cpp 
../opennn/text_analytics.cpp 
../opennn/tinyxml2.cpp 
../opennn/correlation_analysis.cpp
../opennn/optimization_algorithm.cpp
../opennn/learning_rate_algorithm.cpp
../opennn/adaptive_moment_estimation.cpp
)

add_subdirectory(pybind11)
pybind11_add_module(opennn
${PYBIND_SRC}
)