CMakeLists.txt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. cmake_minimum_required(VERSION 3.8.0)
  2. project(mdd_lib)
  3. add_library(${PROJECT_NAME} STATIC
  4. include/Connector.h
  5. include/ModuleGenerator.h
  6. include/IConnection.h
  7. include/IModuleGenerator.h
  8. include/IInput.h
  9. include/IInteractive.h
  10. include/IManager.h
  11. include/IModule.h
  12. include/Input.h
  13. include/IOptimizable.h
  14. include/IOptimizer.h
  15. include/IOptimizerGenerator.h
  16. include/IOutput.h
  17. include/IProcessor.h
  18. include/IProcessorGenerator.h
  19. include/IState.h
  20. include/IUnique.h
  21. include/ModuleBase.h
  22. include/OptimizerBase.h
  23. include/OptimizerEvolutionary.h
  24. include/OptimizerGenerator.h
  25. include/Output.h
  26. include/Parameter.h
  27. include/ProcessorBase.h
  28. include/ProcessorGenerator.h
  29. include/ProcessorStandard.h
  30. include/Registration.h
  31. include/state.h
  32. src/Connector.cpp
  33. src/Input.cpp
  34. src/ModuleBase.cpp
  35. src/ModuleHTTP.cpp
  36. src/ModuleMath.cpp
  37. src/ModuleMerge.cpp
  38. src/ModuleSplitt.cpp
  39. src/ModuleSQL.cpp
  40. src/ModuleSwitch.cpp
  41. src/OptimizerBase.cpp
  42. src/OptimizerEvolutionary.cpp
  43. src/Output.cpp
  44. src/Parameter.cpp
  45. src/ProcessorBase.cpp
  46. src/ProcessorStandard.cpp
  47. src/Registration.cpp
  48. )
  49. target_include_directories(${PROJECT_NAME} PUBLIC
  50. $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  51. $<INSTALL_INTERFACE:include>)
  52. target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES} sqlite3)
  53. set_target_properties( ${PROJECT_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON )
  54. if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
  55. target_compile_options(${PROJECT_NAME} PRIVATE /bigobj)
  56. elseif(UNIX)
  57. target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES} dl)
  58. endif()
  59. install(DIRECTORY include DESTINATION .)
  60. install(TARGETS ${PROJECT_NAME} DESTINATION lib/$<CONFIG> EXPORT targets)
  61. install(EXPORT targets DESTINATION cmake)
  62. #[[
  63. add_custom_command(TARGET mdd_lib POST_BUILD
  64. COMMAND ${CMAKE_COMMAND} -E copy
  65. "$<TARGET_FILE:mdd_lib>"
  66. "${CMAKE_BINARY_DIR}/lib/test/$<CONFIGURATION>")
  67. add_custom_command(TARGET mdd_lib POST_BUILD
  68. COMMAND ${CMAKE_COMMAND} -E copy
  69. "$<TARGET_FILE:mdd_lib>"
  70. "${CMAKE_BINARY_DIR}/lib/test")
  71. ]]
  72. if(${TESTS_ENABLED})
  73. add_subdirectory(test)
  74. endif()