CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. cmake_minimum_required(VERSION 3.8.0)
  2. project(mdd_lib)
  3. add_library(${PROJECT_NAME}
  4. include/HandlerModule
  5. include/IConnector.h
  6. include/IInput.h
  7. include/IModule.h
  8. include/Input.h
  9. include/IOptimizable.h
  10. include/IOptimizer.h
  11. include/IOutput.h
  12. include/IProcessor.h
  13. include/IState.h
  14. include/IUnique.h
  15. include/ModuleBase.h
  16. include/ModuleHTTP.h
  17. include/ModuleMath.h
  18. include/ModuleMerge.h
  19. include/ModuleParameter.h
  20. include/ModuleSplitt.h
  21. include/ModuleSQL.h
  22. include/ModuleSwitch.h
  23. include/OptimizerBase.h
  24. include/OptimizerEvolutionary.h
  25. include/Output.h
  26. include/ProcessorBase.h
  27. include/ProcessorEvolution.h
  28. include/ProcessorStandard.h
  29. include/state.h
  30. src/Input.cpp
  31. src/ModuleBase.cpp
  32. src/ModuleHTTP.cpp
  33. src/ModuleMath.cpp
  34. src/ModuleMerge.cpp
  35. src/ModuleParameter.cpp
  36. src/ModuleSplitt.cpp
  37. src/ModuleSQL.cpp
  38. src/ModuleSwitch.cpp
  39. src/OptimizerBase.cpp
  40. src/OptimizerEvolutionary.cpp
  41. src/Output.cpp
  42. src/ProcessorBase.cpp
  43. src/ProcessorEvolution.cpp
  44. src/ProcessorStandard.cpp
  45. )
  46. target_include_directories(${PROJECT_NAME} PUBLIC
  47. $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  48. $<INSTALL_INTERFACE:include>)
  49. target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES} sqlite3)
  50. if(WIN32)
  51. target_compile_options(${PROJECT_NAME} PRIVATE /bigobj)
  52. endif(WIN32)
  53. install(DIRECTORY include DESTINATION .)
  54. install(TARGETS ${PROJECT_NAME} DESTINATION lib/$<CONFIG> EXPORT targets)
  55. install(EXPORT targets DESTINATION cmake)
  56. if(${TESTS_ENABLED})
  57. add_subdirectory(test)
  58. endif()