build.diff 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. diff --git a/CMakeLists.txt b/CMakeLists.txt
  2. index a9f03d6..f901273 100644
  3. --- a/CMakeLists.txt
  4. +++ b/CMakeLists.txt
  5. @@ -2,7 +2,8 @@ cmake_minimum_required (VERSION 2.8.12)
  6. project (WinEditLine)
  7. set (WinEditLine_VERSION_MAJOR 2)
  8. set (WinEditLine_VERSION_MINOR 2)
  9. -if (MSVC AND MSVC_USE_STATIC_RUNTIME)
  10. +option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
  11. +if (0)
  12. foreach(flag_var
  13. CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
  14. CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
  15. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
  16. index 9eb9d88..66a5a8f 100644
  17. --- a/src/CMakeLists.txt
  18. +++ b/src/CMakeLists.txt
  19. @@ -1,7 +1,9 @@
  20. include_directories("${PROJECT_SOURCE_DIR}/src")
  21. include_directories("${PROJECT_BINARY_DIR}")
  22. include(GenerateExportHeader)
  23. +if(NOT(BUILD_SHARED_LIBS))
  24. add_library(edit_static STATIC editline.c fn_complete.c history.c)
  25. +else()
  26. add_library(edit SHARED editline.c fn_complete.c history.c libedit.def)
  27. set_target_properties(edit PROPERTIES PREFIX "")
  28. GENERATE_EXPORT_HEADER(edit
  29. @@ -10,17 +12,18 @@ GENERATE_EXPORT_HEADER(edit
  30. EXPORT_FILE_NAME edit_Export.h
  31. STATIC_DEFINE edit_BUILT_AS_STATIC
  32. )
  33. -add_executable(edit_test libedit_test.c)
  34. -target_link_libraries(edit_test edit)
  35. -add_executable(edit_test_dll libedit_test_dll.c)
  36. -install (TARGETS edit edit_test edit_test_dll
  37. - DESTINATION "${CMAKE_SOURCE_DIR}/bin${LIB_SUFFIX}")
  38. +endif()
  39. +if(BUILD_SHARED_LIBS)
  40. +install (TARGETS edit
  41. + RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
  42. +else()
  43. install (TARGETS edit_static
  44. - DESTINATION "${CMAKE_SOURCE_DIR}/lib${LIB_SUFFIX}")
  45. + RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
  46. +endif()
  47. install (FILES editline/readline.h
  48. - DESTINATION "${CMAKE_SOURCE_DIR}/include/editline")
  49. + DESTINATION "include/editline")
  50. string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
  51. -if (MSVC AND uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG")
  52. +if (0)
  53. install (FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/edit_static.pdb
  54. DESTINATION "${CMAKE_SOURCE_DIR}/lib${LIB_SUFFIX}")
  55. install (FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/edit.pdb