@@ -102,6 +102,54 @@ else ( MSVC )
102
102
endif ( MSVC )
103
103
# End configure secp256k1-zkp
104
104
105
+ # Configure editline
106
+ if ( MSVC )
107
+ # autoconf won't work here, hard code the defines
108
+ set ( EDITLINE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline" )
109
+
110
+ file ( GLOB EDITLINE_SOURCES "${EDITLINE_DIR} /src/editline.c" )
111
+ add_library ( editline ${EDITLINE_SOURCES} )
112
+
113
+ target_include_directories ( editline PRIVATE "${EDITLINE_DIR} " PUBLIC "${EDITLINE_DIR} /include" )
114
+
115
+ set_target_properties ( editline PROPERTIES COMPILE_DEFINITIONS LINKER_LANGUAGE C )
116
+ else ( MSVC )
117
+ include (ExternalProject)
118
+ if ( MINGW )
119
+ ExternalProject_Add( project_editline
120
+ PREFIX ${CMAKE_CURRENT_BINARY_DIR} /vendor/editline
121
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline
122
+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline/configure --prefix =${CMAKE_CURRENT_BINARY_DIR} /vendor/editline --host=x86_64-w64-mingw32
123
+ BUILD_COMMAND make
124
+ INSTALL_COMMAND true
125
+ BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} /vendor/editline/src/project_editline-build /.libs/libeditline.a
126
+ )
127
+ else ( MINGW )
128
+ ExternalProject_Add( project_editline
129
+ PREFIX ${CMAKE_CURRENT_BINARY_DIR} /vendor/editline
130
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline
131
+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline/configure --prefix =${CMAKE_CURRENT_BINARY_DIR} /vendor/editline
132
+ BUILD_COMMAND make
133
+ INSTALL_COMMAND true
134
+ BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} /vendor/editline/src/project_editline-build /.libs/libeditline.a
135
+ )
136
+ endif ( MINGW )
137
+ ExternalProject_Add_Step(project_editline autogen
138
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline
139
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline/autogen.sh
140
+ DEPENDERS configure
141
+ )
142
+
143
+ ExternalProject_Get_Property(project_editline binary_dir)
144
+
145
+ add_library (editline STATIC IMPORTED )
146
+ set_property (TARGET editline PROPERTY IMPORTED_LOCATION ${binary_dir} /src/.libs/libeditline${CMAKE_STATIC_LIBRARY_SUFFIX} )
147
+ set_property (TARGET editline PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline/include )
148
+ add_dependencies (editline project_editline)
149
+ install ( FILES ${binary_dir} /src/.libs/libeditline${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION lib/cryptonomex )
150
+ endif ( MSVC )
151
+ # End configure editline
152
+
105
153
IF ( WIN32 )
106
154
MESSAGE (STATUS "Configuring fc to build on Win32" )
107
155
@@ -252,20 +300,8 @@ setup_library( fc SOURCES ${sources} LIBRARY_TYPE STATIC )
252
300
install ( DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR} /include/" DESTINATION include )
253
301
254
302
# begin editline stuff
255
- #find_package(Curses)
256
- set (EDITLINE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /vendor/editline" )
257
- find_package (Editline)
258
-
259
- file (GLOB HEADERS "include/bts/cli/*.hpp" )
260
-
261
- if (EDITLINE_FOUND)
262
- target_compile_definitions (fc PRIVATE HAVE_EDITLINE)
263
- set (editline_libraries ${Editline_LIBRARY} )
264
- #if (CURSES_FOUND)
265
- # list(APPEND editline_libraries ${CURSES_LIBRARY})
266
- #endif()
267
- set (editline_includes ${Editline_INCLUDE_DIR} )
268
- endif ()
303
+ target_compile_definitions (fc PRIVATE HAVE_EDITLINE)
304
+ set (editline_libraries editline)
269
305
if (WIN32 )
270
306
target_compile_definitions ( fc PRIVATE _CRT_NONSTDC_NO_DEPRECATE )
271
307
endif (WIN32 )
@@ -363,7 +399,6 @@ target_include_directories(fc
363
399
${OPENSSL_INCLUDE_DIR}
364
400
"vendor/diff-match-patch-cpp-stl"
365
401
${CMAKE_CURRENT_SOURCE_DIR} /vendor/websocketpp
366
- "${editline_includes} "
367
402
368
403
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
369
404
${CMAKE_CURRENT_SOURCE_DIR} /vendor/boost_1.51/include
@@ -374,7 +409,7 @@ target_include_directories(fc
374
409
IF (NOT WIN32 )
375
410
set (LINK_USR_LOCAL_LIB -L/usr/local/lib)
376
411
ENDIF ()
377
- target_link_libraries ( fc PUBLIC ${LINK_USR_LOCAL_LIB} ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${PLATFORM_SPECIFIC_LIBS} ${RPCRT4} ${CMAKE_DL_LIBS} ${rt_library} ${readline_libraries } ${ECC_LIB} )
412
+ target_link_libraries ( fc PUBLIC ${LINK_USR_LOCAL_LIB} ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${PLATFORM_SPECIFIC_LIBS} ${RPCRT4} ${CMAKE_DL_LIBS} ${rt_library} ${editline_libraries } ${ECC_LIB} )
378
413
379
414
if (MSVC )
380
415
set_source_files_properties ( src/network/http/websocket.cpp PROPERTIES COMPILE_FLAGS "/bigobj" )
0 commit comments